Zapisywanie stringów do tablicy bez określania jej wymiarów

Sprawy związane z interfejsem użytkownika - kontrolki, wskaźniki, wyświetlacze, wykresy oraz inne zagadnienia tego typu...
lorddran
Posty: 5
Rejestracja: 11 sty 2016 20:32
Wersja środowiska: LabVIEW 2013

Zapisywanie stringów do tablicy bez określania jej wymiarów

Post autor: lorddran » 11 sty 2016 20:45

Witam,
podejrzewam, że mój problem jest banalny (stawiam pierwsze kroki w LV) ale nie mogę sobie z nim poradzić. Jak mogę stworzyć tablicę, do której będą przekazywane kolejne zmienne, bez podawania wymiarów tej tablicy?
z góry dziękuję za pomoc i pozdrawiam

Awatar użytkownika
aaddaas
Posty: 182
Rejestracja: 26 cze 2013 20:42
Wersja środowiska: LabVIEW 2015

Re: Zapisywanie stringów do tablicy bez określania jej wymiarów

Post autor: aaddaas » 11 sty 2016 20:56

Bloczek build array, najepiej w połączeniu z shift register
Patrz przykład
Załączniki
tablica.png
tablica.png (13.64 KiB) Przejrzano 2370 razy
Obrazek

lorddran
Posty: 5
Rejestracja: 11 sty 2016 20:32
Wersja środowiska: LabVIEW 2013

Re: Zapisywanie stringów do tablicy bez określania jej wymiarów

Post autor: lorddran » 11 sty 2016 21:13

Dzięki za odpowiedź :)
jednak nadal nie potrafię tego zrobić :/ mianowicie mam sobie pętlę for, do niej przez shift register wchodzi sobie wartość (string przekonwertowany na wartość numeryczną) i dalej wchodzi do Build Array. Do drugiego wejścia bloczku podłączyłem Loop Iteration. Następnie podczas próby wyprowadzenia appended array do shift register na wyjściu pętli for następuje błąd...

Awatar użytkownika
aaddaas
Posty: 182
Rejestracja: 26 cze 2013 20:42
Wersja środowiska: LabVIEW 2015

Zapisywanie stringów do tablicy bez określania jej wymiarów

Post autor: aaddaas » 11 sty 2016 21:16

podrzuc kod
Obrazek

lorddran
Posty: 5
Rejestracja: 11 sty 2016 20:32
Wersja środowiska: LabVIEW 2013

Re: Zapisywanie stringów do tablicy bez określania jej wymiarów

Post autor: lorddran » 11 sty 2016 21:24

chciałem zrealizować odczyt stringów z portu szeregowego tak by można podejrzeć wszystkie odebrane wartości, a nie tylko ostatnia.
Załączniki
8.vi
(26.92 KiB) Pobrany 73 razy

Awatar użytkownika
dajpanspokój
Posty: 109
Rejestracja: 05 lis 2015 08:15
Wersja środowiska: LabVIEW 2014
Has thanked: 2 times

Re: Zapisywanie stringów do tablicy bez określania jej wymiarów

Post autor: dajpanspokój » 11 sty 2016 21:34

Ja bym to raczej zrobil normalnym wyjsciem bez shifta ustawionym jako indexing (prawym na wyjście, Tunnel Mode). Wtedy po zamknięciu pętli dostaniesz tablicę wszystkich stringów.
Możesz do tego jeszcze zaznaczyć Conditional i ustawić tak, żeby do tablicy wyjściowej były brane tylko niepuste.

To rozwiązanie jest efektywniejsze od dodawania do tablicy z shiftem, ale nie możesz tej tablicy podglądać w trakcie działania pętli (dopiero po wyjściu z niej)
string out.png
string out.png (13.67 KiB) Przejrzano 2365 razy
lorddran pisze:Dzięki za odpowiedź :)
jednak nadal nie potrafię tego zrobić :/ mianowicie mam sobie pętlę for, do niej przez shift register wchodzi sobie wartość (string przekonwertowany na wartość numeryczną) i dalej wchodzi do Build Array. Do drugiego wejścia bloczku podłączyłem Loop Iteration. Następnie podczas próby wyprowadzenia appended array do shift register na wyjściu pętli for następuje błąd...

Na wejsciu do shift registera nic nie dawaj albo daj tablice a nie wartosc. Ten loop iteration to sa wartosci, które chcesz dodawac do tablicy

lorddran
Posty: 5
Rejestracja: 11 sty 2016 20:32
Wersja środowiska: LabVIEW 2013

Zapisywanie stringów do tablicy bez określania jej wymiarów

Post autor: lorddran » 11 sty 2016 22:00

Z jakiegoś powodu ciągle moje zmienne są zapisywane do pierwszej komórki tablicy, a reszta pozostaje pusta

Awatar użytkownika
aaddaas
Posty: 182
Rejestracja: 26 cze 2013 20:42
Wersja środowiska: LabVIEW 2015

Re: Zapisywanie stringów do tablicy bez określania jej wymiarów

Post autor: aaddaas » 11 sty 2016 22:07

Może bardziej w ten sposób?
Załączniki
8.vi
(39.68 KiB) Pobrany 75 razy
Ostatnio zmieniony 11 sty 2016 22:29 przez aaddaas, łącznie zmieniany 1 raz.
Obrazek

Awatar użytkownika
dajpanspokój
Posty: 109
Rejestracja: 05 lis 2015 08:15
Wersja środowiska: LabVIEW 2014
Has thanked: 2 times

Re: Zapisywanie stringów do tablicy bez określania jej wymiarów

Post autor: dajpanspokój » 11 sty 2016 22:25

O ile dobrze rozumiem, twój program ma zbierac wartości przesyłane przez serial, a potem wyswietlic wszystkie niezerowe na wykresie, jesli po tej wartości jest Enter?
Jeśli tak to tu jest rozw (usun ta mala petle for)
Załączniki
shift.png

lorddran
Posty: 5
Rejestracja: 11 sty 2016 20:32
Wersja środowiska: LabVIEW 2013

Re: Zapisywanie stringów do tablicy bez określania jej wymiarów

Post autor: lorddran » 13 sty 2016 20:07

eh, ma głupota nie zna granic... co jeszcze robię nie tak? ;p
Załączniki
Untitled.png

Awatar użytkownika
dajpanspokój
Posty: 109
Rejestracja: 05 lis 2015 08:15
Wersja środowiska: LabVIEW 2014
Has thanked: 2 times

Zapisywanie stringów do tablicy bez określania jej wymiarów

Post autor: dajpanspokój » 13 sty 2016 22:26

Jeśli masz wersje LV>=2014 to mozesz sobie przeciagnac to moje rozwiazanie na swoj block diagram.

Bloczek łączenia stringów jest zły, powinien być build table.

Ale generalnie staralbym sie sprawdzac czy dostales liczbe zaraz po jej otrzymaniu a w shifcie przekazywac tablice doubli a nie stringów. Wtedy juz bez sprawdzania mozesz ją wyświetlić na wykresie.

I zastanów się jak rozwiązać problem gdy ktoś ci wyśle 0 przez serial

ODPOWIEDZ