Strona 1 z 1

tworzenie tablicy z wartości odczytywanych na bieżąco

: 02 wrz 2013 18:58
autor: hucul
Witam

Odczytuje dane z liniału i prezentuje je w postaci wykresu na bieżąco. Chciałbym także zapisać te dane bo tablicy, żeby można jest obrobić. Próbuje na różne sposoby, ale mi nie idzie. Czy da się zapisać da z pętli While do tablicy ? Jeśłi tak to jak ?

Screen mojego programu z niedziałającą tablicą.
http://zapodaj.net/0fd933281ca41.jpg.html

Re: tworzenie tablicy z wartości odczytywanych na bieżąco

: 03 wrz 2013 01:16
autor: smiga
Nie rozumiem problemu - przecież tworzysz tablicę Array z tych danych na wyjściu z pętli While...?

tworzenie tablicy z wartości odczytywanych na bieżąco

: 03 wrz 2013 08:26
autor: hucul
Tak tworzę, ale to nic nie daje. Podczas wykonywania pętli wartość nie wychodzi poza pętlę While. Jeśli użyję Probe to mi pokazuje że wartość dochodzi do pętli a poza nią pokazuje "not executed". Wiąże się to z tym że do tablicy nie dochodzi żadna wartość.

Re: tworzenie tablicy z wartości odczytywanych na bieżąco

: 03 wrz 2013 09:30
autor: cyjan1
Witaj,

dane do tablicy znajdującej się na zewnątrz pętli zostaną przekazane dopiero kiedy program wyjdzie z pętli. Jeżeli chcesz mieć tablicę z dotychczasowymi wartościami już w trakcie działania pętli, musisz tablicę umieścić wewnątrz pętli i użyć np. shift registerów oraz bloczka Build Array (zauważ, że wykres też tworzy Ci się na bieżąco, ponieważ znajduje się w pętli).
Poza tematem: nie musisz używać Property node dla kontrolki read string w celu podpięcia do bloczka Hexadecimal String To Number. Wystarczy podłączyć się bezpośrednio do przewodu.

Sam interesujący Cię fragment kodu powinien wyglądać mniej więcej tak:
tablica.png
tablica.png (24.88 KiB) Przejrzano 8360 razy

tworzenie tablicy z wartości odczytywanych na bieżąco

: 03 wrz 2013 09:30
autor: TMa
Używasz autoindex'owania w pętli While, co oznacza że nie masz dostępu do tworzonej tabeli dopóty dopóki nie zakończy ona działania. Proponuję użyć rejestru przesuwnego gdzie dodawał będziesz kolejne elementy do utworzonej już pustej tabeli (Build Array) albo zadeklarujesz wielkość tablicy (Initialize Array) i następnie będziesz ją uzupełniał o kolejne dane.
Druga metoda jest zalecana ( "good practises" :) ).

Re: tworzenie tablicy z wartości odczytywanych na bieżąco

: 03 wrz 2013 09:35
autor: cyjan1
TMa pisze:Używasz autoindex'owania w pętli While, co oznacza że nie masz dostępu do tworzonej tabeli dopóty dopóki nie zakończy ona działania. Proponuję użyć rejestru przesuwnego gdzie dodawał będziesz kolejne elementy do utworzonej już pustej tabeli (Build Array) albo zadeklarujesz wielkość tablicy (Initialize Array) i następnie będziesz ją uzupełniał o kolejne dane.
Druga metoda jest zalecana ( "good practises" :) ).
Widzę, że radzimy to samo :D
Co do deklarowania rozmiaru tablicy to bym się wahał - pętla While zatrzymywana przyciskiem Stop może przekroczyć zadeklarowany rozmiar, a potem wiadomo :)

tworzenie tablicy z wartości odczytywanych na bieżąco

: 04 wrz 2013 09:39
autor: hucul
Dziękuję za pomoc. Teraz już działa jak trzeba.