Sterowanie kontrolką przez event structure
Sterowanie kontrolką przez event structure
Panowie i panie sprawa poważna
Otóż idea jest taka: otwieram program przez open Vi reference i z niego chcę wyciągnąc wartość controlki boolean czyli tutaj Accept2. Ta kontrolka dziła na latch when released. Chce mieć tą zmianę do eventa który daje na inną kontrolkę OK to że jest enabled z disabled and greyed. Niestety jak na razie ten pomysł nie działa. Raz że nie zauważam zmiany wartości wyciąginętej przez Call reference node a dwa ze póżniej even czeka na tą zmianę i dalej jak to się mówi po ptokach
Jśli ktoś mnie rozumie to proszę o pomoc. Dziękuję. Wstawaim obrazek żeby nie było hehe 
Re: Sterowanie kontrolką przez event structure
Sorrki za taki duży zrzut ekranu ale przynajmniej widać hehe 
Re: Sterowanie kontrolką przez event structure
Ok problem sprowadza się do takiego zadania: w pętli while jest kontrolka np OK ustawiona na latched when released. Pytanie jest następujące: Jak zarejestrować zmianę stanu i przekazać tą informację do innego vi ??? Np rejestruję informację że pojawiło się TRUE kiedy domyślnie ejest FALSE ???
Re: Sterowanie kontrolką przez event structure
Struktura tego typu:
while ->
-> zagnieżdżona sekwencja stosowa
-> w której osadzono strukturę case
-> w której rownolegle wykonuje się dunamiczne wywołanie VIja
-> a jednocześnie oczekuje się na zdarzenie
jest hmmm... delikatnie sprawę ujmując ...niezorganizowana (a wygląda nawet na chaotyczną).
Jakiej realizacji algorytmu oczekujesz? albo prościej - co według ciebie ma realizować przedstawiony kod (diagram)?
Dobrze zakładając to co piszesz (i pomijając wersję LabVIEW, której nie określiłeś):
przez węzeł własności (Property Node) - Value(Signaling) oczywiście przez referencję do kontrolki obsługiwanej przez określony event.
W tym przypadku kanoniczna obsługa struktury event (while+event).
Metoda druga (zakładając LabVIEW8.2 + projekt)
zmienne współdzielone (Shared Variables) i tutaj należało by włozyć nieco więcej pracy.
while ->
-> zagnieżdżona sekwencja stosowa
-> w której osadzono strukturę case
-> w której rownolegle wykonuje się dunamiczne wywołanie VIja
-> a jednocześnie oczekuje się na zdarzenie
jest hmmm... delikatnie sprawę ujmując ...niezorganizowana (a wygląda nawet na chaotyczną).
Jakiej realizacji algorytmu oczekujesz? albo prościej - co według ciebie ma realizować przedstawiony kod (diagram)?
Dobrze zakładając to co piszesz (i pomijając wersję LabVIEW, której nie określiłeś):
Metoda pierwsza:Meduza pisze:problem sprowadza się do takiego zadania: w pętli while jest kontrolka np OK ustawiona na latched when released. Pytanie jest następujące: Jak zarejestrować zmianę stanu i przekazać tą informację do innego vi ??? Np rejestruję informację że pojawiło się TRUE kiedy domyślnie jest FALSE ???
przez węzeł własności (Property Node) - Value(Signaling) oczywiście przez referencję do kontrolki obsługiwanej przez określony event.
W tym przypadku kanoniczna obsługa struktury event (while+event).
Metoda druga (zakładając LabVIEW8.2 + projekt)
zmienne współdzielone (Shared Variables) i tutaj należało by włozyć nieco więcej pracy.
Re: Sterowanie kontrolką przez event structure
Dzieki za uwagi Mikrobi
Pokornie chylę głowę
Otóz pracuję w 7.1 ale mam dostęp do 8.2 tylko że na uczelni gdzie nie chce mi się za bardzo jeżdzić lol . Oczywiście pomysł z property node był ale value zmienia się zanim zamkniesz program. Chodzi o to żeby program wykrył że chociaż raz zostały zapisane dane konfiguracyjne DAQmx do globala z którego są póżniej zczytywane. Problem rozwiązałem inaczej zapisując value do one dimensional array. Może niezbyt eleganckie ale działa. Otóż stacked esquence używam do uporządkowania sobie kroków, może nie jest to najlepsze zastosowanie. Case structure jest konieczny ponieważ po wciśnięciu przucisku Settings użytkownik ma dostęp do prgramu gdzie może podać nowe, zapisać lub załadować z pliku tekstowego parametry do DAQmx. Natomista Event w sumie służy później do uruchomienia akwizycj danych przez klawisz Enter. Tak się to przedstawia.