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
tworzenie tablicy z wartości odczytywanych na bieżąco
- smiga
- Administrator
- Posty: 824
- Rejestracja: 04 paź 2009 12:41
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Słupsk
Re: tworzenie tablicy z wartości odczytywanych na bieżąco
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
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ść.
- cyjan1
- Posty: 70
- Rejestracja: 08 paź 2012 11:55
- Wersja środowiska: LabVIEW 2017
- Lokalizacja: podkarpacie
Re: tworzenie tablicy z wartości odczytywanych na bieżąco
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:
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:
Pozdrawiam
Zenek
Zenek
tworzenie tablicy z wartości odczytywanych na bieżąco
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"
).
Druga metoda jest zalecana ( "good practises"

- cyjan1
- Posty: 70
- Rejestracja: 08 paź 2012 11:55
- Wersja środowiska: LabVIEW 2017
- Lokalizacja: podkarpacie
Re: tworzenie tablicy z wartości odczytywanych na bieżąco
Widzę, że radzimy to samoTMa 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").

Co do deklarowania rozmiaru tablicy to bym się wahał - pętla While zatrzymywana przyciskiem Stop może przekroczyć zadeklarowany rozmiar, a potem wiadomo

Pozdrawiam
Zenek
Zenek
tworzenie tablicy z wartości odczytywanych na bieżąco
Dziękuję za pomoc. Teraz już działa jak trzeba.