Wiele zmiennych funkcjonalnych tego samego typu

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.
Awatar użytkownika
Brad PID
Posty: 29
Rejestracja: 24 kwie 2013 01:12
Wersja środowiska: LabVIEW 2012

Wiele zmiennych funkcjonalnych tego samego typu

Post autor: Brad PID »

Mam do napisania funkcję, która będzie gromadzić w sobie kilka próbek i na ich podstawie wyznaczać odpowiedź. Nie chcę się wdawać w szczegóły ale działanie jest takie samo jak filtru cyfrowego, który na podstawie bieżącej i kilku poprzednich próbek wyznacza pewną wartość. Zrobiłem coś takiego używając zmiennej funkcjonalnej. Mój problem polega na tym że chcę mieć kilka lub kilkanaście takich samych funkcji działających równolegle na innych danych. Jeżeli będę używał tej samej zmiennej przez cały czas moje wyniki będą wypaczone a nie chce tworzyć kopii pliku tej funkcji. Jak mogę coś takiego zrealizować w LabView bez uciekania się do programowania obiektowego?
Dawid Woźny
Certified LabVIEW Associate Developer
www.optinav.pl
Obrazek
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Wiele zmiennych funkcjonalnych tego samego typu

Post autor: jogurt_owocowy »

W opcjach VIaja gromadzącego próbki (File -> VI Properties) wybierz kategorię Execution, zaptaszkuj opcję Reentrant execution, a spośród dwóch opcji poniżej wybierz Preallocate clone for each instance.

PS. Jakbyś miał później problem z edycją tego VIaja, wybierz Tools -> Change to Edit Mode.
Awatar użytkownika
Brad PID
Posty: 29
Rejestracja: 24 kwie 2013 01:12
Wersja środowiska: LabVIEW 2012

Wiele zmiennych funkcjonalnych tego samego typu

Post autor: Brad PID »

Dzięki, ostatecznie zdecydowałem się nie tworzyć zmiennej funkcjonalnej tylko strukturę którą będę do niej podawać i przesuwać poza samą zmienną funkcjonalną. Rozwiązanie z samymi klonami nie jest wystarczające w momencie gdy chcę FGV w innym miejscu np. w sekwencji "initialize" wstawiam FGV i je inicjalizuje, a w sekwencji "process" chciałbym już działać na zaininicjalizowanej ale nie mogę bo to już jest klon. Jeżeli jest jakaś możliwość aby je " zlinkować" to z chęcią bym się dowiedział.
Dawid Woźny
Certified LabVIEW Associate Developer
www.optinav.pl
Obrazek
ODPOWIEDZ