Strona 1 z 1

Problem - czyszczenie tablicy

: 29 cze 2010 21:47
autor: jozi86
Witam forumowiczów :)

Mam do Was prośbę o pomoc. Otóż stworzyłem sobie vi, którego używam w programie głównym dwukrotnie - za każdym razem podpinam inną nazwę pliku do wypisywania danych.
W pętli czasowej, program buduje tablicę z wynikami pomiarów, a następnie wypisuje ją do pliku zewnętrznego. Jak plik jest czysty, uruchamiam labview po raz pierwszy i włączam pomiar to jest ok. Natomiast jak robię kolejny pomiar, to program DOPISUJE dane do poprzedniego pliku. Np. - pierwszy pomiar - 60 wierszy, to drugi pomiar zaczyna się wpisywać od 61 wiersza. Myślałem, że to wina zapisu do pliku, ale dorzuciłem na początek blok Open/Create/Replace z opcją Create or Replace i sprawa wygląda tak samo. Domyślam się więc, że program przetrzymuje w pamięci dane do tej tablicy (w programie np. tablica 1).
Czy istnieje jakaś opcja czyszczenia tablicy przed przejściem do wykonania pętli? Znalazłem na necie coś o property node, ale próby wykorzystania kończyły się fiaskiem. Dołączam mój plik, będę bardzo wdzięczny jak ktoś rzuci okiem :)

Pozdrawiam!

Problem - czyszczenie tablicy

: 29 cze 2010 22:12
autor: Pitol
korzystasz w kodzie z Feedback Nodes. Działa to podobnie jak rejestr przesuwny, tylko drutów nie trzeba ciągnąć przez cały diagram. Ale nie widzę żebyś je inicjalizował. Przy kolejnym wywołaniu tego VI jako subVI Feedback Node trzyma w sobie poprzednie wartości. To zapewne dlatego pojawiają Ci się nadmiarowe dane.
Możesz kliknąć prawym na Feedback Node i wybrać Move Initializer One Out Loop co spowoduje pojawienie się terminala inicjalizacyjnego jako wejścia do pętli, lub podpiąć wartość inicjalizacyjną bezpośrednio do węzła Feedback.

Problem - czyszczenie tablicy

: 29 cze 2010 22:19
autor: jozi86
Wielkie dzięki za odpowiedź. Jutro przetestuję jak to działa na sprzęcie. Spróbuję wersję Move Initializer One Loop Out, gdyż tego drugiego do końca nie rozumiem :) Nie jestem jeszcze zbyt pro...

Re: Problem - czyszczenie tablicy

: 29 cze 2010 22:22
autor: Pitol
ano tak:
111.PNG
111.PNG (4.01 KiB) Przejrzano 6224 razy
klikasz prawym na Feedback Node, a dokładniej na
222.PNG
222.PNG (1.96 KiB) Przejrzano 6224 razy
tą o tuu kropkę i wybrać Create -> Constant

Problem - czyszczenie tablicy

: 29 cze 2010 22:23
autor: jozi86
A jeszcze odnośnie property node. Dałem go tam tylko dlatego, że inaczej nie udało mi się budować tablicy w pętli czasowej. W pętli for było ok - dostawałem za pętlą tablice 2d, którą podpinałem do zapisu do pliku i dostawałem plik z n wierszami. W pętli czasowej dostawałem zawsze jeden wiersz :( Czy da się to zrobić inaczej - bez property node?

Problem - czyszczenie tablicy

: 29 cze 2010 22:27
autor: Pitol
yy.... chyba mylisz pojęcia. Nie property node tylko Feedback Node. Jest zasadnicza różnica ;)
Jeśli chodzi o pętle For, to one mają domyślnie automatyczne indeksowanie na wejściach/wyjściach. W przypadku pętli While jest ono wyłączone. Aby je włączyć należy kliknąć prawym na wyjście z pętli i wybrać Enable Indexing

Problem - czyszczenie tablicy

: 29 cze 2010 22:33
autor: jozi86
jeszcze raz WIELKIE DZIĘKI :) Zabieram się do pracy :)