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

Jeśli masz coś do powiedzenia w sprawie LabVIEW napisz. Tutaj są tematy, których nie można uściślić do innych działów.
hucul
Posty: 8
Rejestracja: 07 lip 2013 13:52
Wersja środowiska: LabVIEW 2010

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

Post 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
Awatar użytkownika
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

Post autor: smiga »

Nie rozumiem problemu - przecież tworzysz tablicę Array z tych danych na wyjściu z pętli While...?
__ Arkadiusz Śmigielski, tel. 662 01 01 74___
ObrazekObrazekObrazek
Pomogłem ... postaw kawę: https://buycoffee.to/smiga
hucul
Posty: 8
Rejestracja: 07 lip 2013 13:52
Wersja środowiska: LabVIEW 2010

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

Post 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ść.
Awatar użytkownika
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

Post 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 8365 razy
Pozdrawiam
Zenek
TMa
Posty: 203
Rejestracja: 07 sty 2010 12:56
Wersja środowiska: LabVIEW 2017

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

Post 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" :) ).
Awatar użytkownika
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

Post 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 :)
Pozdrawiam
Zenek
hucul
Posty: 8
Rejestracja: 07 lip 2013 13:52
Wersja środowiska: LabVIEW 2010

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

Post autor: hucul »

Dziękuję za pomoc. Teraz już działa jak trzeba.
ODPOWIEDZ