Strona 1 z 2

Odczyt danych z pliku txt z odstępem czasu

: 26 maja 2009 19:05
autor: Dragonfly
Mam pewien problem, który od dłuższego czasu usiłuje rozwiązać.
Mam plik txt do którego zapisuje za pomocą Write to Spreedsheet File liczby od 0 do 100 (liczby losowe) w kolumnie i mam problem z odczytaniem ich w odstępach czasowych z tego pliku. Udaje mi się odczytać wszystkie wiersze ale jednocześnie. Możecie mi podpowiedzieć jak odczytać kolejny wiersz z odstępem czasu załóżmy 1s?

Re: Odczyt danych z pliku txt z odstępem czasu

: 26 maja 2009 19:31
autor: jogurt_owocowy
Chyba sensowniej będzie odczytać cały plik naraz (bo po co mielić niepotrzebnie dyskiem?) np. za pomocą Read From Spreadsheet File, a potem co 1s wyciągać z odczytanej tablicy kolejny element.

Re: Odczyt danych z pliku txt z odstępem czasu

: 26 maja 2009 19:40
autor: Dragonfly
Tylko, że wciąż pozostaje dla mnie problem jak zrobić pętle czasową, aby co sekundę odczytać kolejny wiersz tablicy. Można prosić o jakąś podpowiedź?

Re: Odczyt danych z pliku txt z odstępem czasu

: 26 maja 2009 19:54
autor: jogurt_owocowy
Spróbuj tak:

Re: Odczyt danych z pliku txt z odstępem czasu

: 26 maja 2009 20:05
autor: Dragonfly
Dziękuje bardzo :) pomogło.

Re: Odczyt danych z pliku txt z odstępem czasu

: 27 maja 2009 09:22
autor: Dragonfly
Jeszcze mam jedno pytanie, jak w tej chwili po zastosowaniu pętli <b>FOR</b> wydobyć z tym samym odstępem czasu każdą z linię osobno poza pętlę.
Pytam się, gdyż liczbę z kolejnych linii próbuję przesłać do innego VI lecz zamiast przesyłania liczb po kolei to otrzymuję jedynie ostatnią liczbę odczytaną z pliku.

Wewnętrzny <b>CASE</b> działa na zasadzie wykrycia jaka liczba przychodzi i wówczas wysyła odpowiedni plik dalej.

Odczyt danych z pliku txt z odstępem czasu

: 27 maja 2009 11:26
autor: coolfon
Każdą kolejną liczbę możesz wrzucać do kolejki, z której wartość tą wyjmiesz sobie w docelowym VI'ju.

Re: Odczyt danych z pliku txt z odstępem czasu

: 27 maja 2009 11:44
autor: Dragonfly
Wypróbowałem kolejek ale niestety w dalszym ciągu dostaje tylko i wyłącznie wartość ostatniej linii.

Odczyt danych z pliku txt z odstępem czasu

: 27 maja 2009 11:48
autor: coolfon
A jak chcesz te linie otrzymywać?

Re: Odczyt danych z pliku txt z odstępem czasu

: 27 maja 2009 11:54
autor: Dragonfly
w odstępach czasowych

całość działania programu polega na tym, że w jednym VI zapisuje liczby z przedziału od 0 do 100 w kolumnie, po czym w innym VI chcę odczytać każdą linię pojedynczo i jej wartość przesłać dalej czego reakcją będzie wysłanie do szyny CAN zawartości odpowiedniego pliku.

w skrócie...
1) odczytałem liczbę 11 przesyłam ją dalej
2) struktura CASE dla liczby 11 wysyła plik 11.ncl do szyny CAN
itd... aż do momentu kiedy główny CASE przechodzi w drugi stan

Odczyt danych z pliku txt z odstępem czasu

: 27 maja 2009 12:15
autor: coolfon
Możesz wrzucić ten plik tekstowy? I może chociaż kawałek tego kodu, który tylko ostatni element tablicy Ci zwraca...

EDIT: ustaw transponowanie na False ;)

Odczyt danych z pliku txt z odstępem czasu

: 27 maja 2009 12:36
autor: Dragonfly
Gdy ustawiam transponowanie na false to odczytuje mi tylko pierwszą linię i ona jest wysyłana, kawałek kodu jest umieszczony powyżej a plik txt z którego odczytuje wartości wygląda np tak:

39
2
15
1
77
54
100
18
...

<b>edit</b>

Udało mi się po części rozwiązać sprawę tylko, że jeszcze pomiędzy każdym odczytem dostaję cyfrę <b>zero</b> mimo że w pliku jej nie ma. Działa z ustawionym transponowaniem na <b> true</b> i na <b>false</b>Poniżej kod jak to rozwiązałem.

Odczyt danych z pliku txt z odstępem czasu

: 27 maja 2009 12:48
autor: coolfon
Co dostajesz zaraz na wyjściu bloczka Read From Spreadsheet File? Bo jeśli bloczek odczytuje Ci całą tablicę zapisaną w pliku, to raczej niemożliwe żeby pętla wybierała sobie tylko jedną wartość...

Jak możesz to wrzuć swój kod, bo obrazki średnio się debuguje ;)

Re: Odczyt danych z pliku txt z odstępem czasu

: 27 maja 2009 12:57
autor: jogurt_owocowy
A czy to transponowanie jest jakimś problemem? Stała transpose ustawiona na TRUE mówi funkcji (w tym wypadku), że dane w pliku są zapisane w kolumnie.
Lepiej będzie jak dane z pliku odczytasz tylko raz, poza pętlą, a potem operował będziesz na wczytanej tablicy. Czemu się uparłeś, żeby z pliku czytać w pętli?

Re: Odczyt danych z pliku txt z odstępem czasu

: 27 maja 2009 12:59
autor: Dragonfly
Pozmieniałem wartości w pliku txt i okazuje się że jednak niezbyt poprawnie działa, gdyż oprócz moich liczb wyświetla mi jeszcze zera i inne liczby w między czasie, które jak dla mnie to bierze z kosmosu o_0