Jak przekazywać zmieniające się dane do SubVI?

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
Awatar użytkownika
ky3orr
Posty: 149
Rejestracja: 10 gru 2006 00:00
Wersja środowiska: LabVIEW 8.6
Lokalizacja: Siechnice
Kontakt:

Jak przekazywać zmieniające się dane do SubVI?

Post autor: ky3orr »

Koledzy!

W jaki sposób dostarczać do kodu zamkniętego w SubVi jakiś parametr zmienny w czasie?

Jeśli zrobię terminal to dane są przekazywane takie jak przy wywołaniu SubVi tak? -Czy się mylę?...

Dokładniej to mam w SubVi pętlę while i to VI kończy pracę gdy spełniony jest warunek. I właśnie jak dodrutować sygnał, modyfikowany przez program zewnętrzny, do warunku tak by to zadziałało?

pozdrawiam
KY3ORR

Okablowanie audio / RF -> www.CabLAB.eu
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

Jak przekazywać zmieniające się dane do SubVI?

Post autor: Mikrobi »

Do rzeczowej odpowiedzi potrzebna bedzie informacja o wersji LabVIEW.
Powyżej 8ki (8.0, 8.2, 8.5) jesli VIje są w strukturze projektu mozesz wykorzystywać zmienne współdzielone (Shared Variables).
We wczesniejszych wersjach stosowane były LV2glb (LabVIEW to global), zwane też Action Engine.
Można je również stosować oczywiście w nowych wersjach, ale do prostego przekazywania danych sugeruje Sh.Variables.
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI
MarekK
Posty: 3
Rejestracja: 01 lut 2006 00:00

Re: Jak przekazywać zmieniające się dane do SubVI?

Post autor: MarekK »

Tzn parametr zmienia się w czasie na skutek czego - jest wypracowany przez inny uruchomiony vi? jakieś wejścia A/C? Proponuję w tym uruchomionym subvi umieścić poniższy następny podprogram: Obrazek z opcją False i stworzyć drugi inny vi który przekazywałby te zmienne i zawierał ten sam podprogram z opcją True teraz tak oby dwa vi muszą być oczywiście uruchomione powyższy podprogram musi mieć odhaczoną opcję Reentrant execution (VI properties/Execution)
Awatar użytkownika
bartus
Posty: 141
Rejestracja: 07 maja 2007 00:00
Wersja środowiska: LabVIEW 2009
Lokalizacja: Wrocław/Żory

Jak przekazywać zmieniające się dane do SubVI?

Post autor: bartus »

Mozesz zrobic tak jak proponowali koledzy powyzej - tzn zastowsowac functional globale, ew jezeli sprawa jest mniej skomplikowana to zwykle globale( mniej skomplikowana sprawa - w jednym miejscu zapis do zmiennej i potem tylko odczytywanie z niej).

ew moznaby jeszcze bylo wykorzystac kolejki, moze nawet pokusic sie o jakies zastosowanie referencji? ( tego ostatniego nie jestem pewien, az sprawdze sam ;) )

Pozdrawiam

bartus
Jest pare rzeczy dla których warto zyc - TO,UE i nie zmienia sie nic :)
ODPOWIEDZ