Problem - czyszczenie tablicy

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.
jozi86
Posty: 4
Rejestracja: 29 cze 2010 21:39
Wersja środowiska: LabVIEW 2009

Problem - czyszczenie tablicy

Post 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!
Załączniki
multimetr_sprawdzanie czasu2.vi
(62.55 KiB) Pobrany 251 razy
Awatar użytkownika
Pitol
Moderator
Posty: 987
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Problem - czyszczenie tablicy

Post 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.
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
jozi86
Posty: 4
Rejestracja: 29 cze 2010 21:39
Wersja środowiska: LabVIEW 2009

Problem - czyszczenie tablicy

Post 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...
Awatar użytkownika
Pitol
Moderator
Posty: 987
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Re: Problem - czyszczenie tablicy

Post autor: Pitol »

ano tak:
111.PNG
111.PNG (4.01 KiB) Przejrzano 6229 razy
klikasz prawym na Feedback Node, a dokładniej na
222.PNG
222.PNG (1.96 KiB) Przejrzano 6229 razy
tą o tuu kropkę i wybrać Create -> Constant
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
jozi86
Posty: 4
Rejestracja: 29 cze 2010 21:39
Wersja środowiska: LabVIEW 2009

Problem - czyszczenie tablicy

Post 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?
Awatar użytkownika
Pitol
Moderator
Posty: 987
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Problem - czyszczenie tablicy

Post 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
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
jozi86
Posty: 4
Rejestracja: 29 cze 2010 21:39
Wersja środowiska: LabVIEW 2009

Problem - czyszczenie tablicy

Post autor: jozi86 »

jeszcze raz WIELKIE DZIĘKI :) Zabieram się do pracy :)
ODPOWIEDZ