uproszczenie VI przez event structure?

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
bender
Posty: 2
Rejestracja: 30 sie 2010 01:16
Wersja środowiska: LabVIEW 8.6

uproszczenie VI przez event structure?

Post autor: bender »

Witam!

Chcialbym sie przywitac jako nowy user tego forum!
Wlasnie jestem w trakcie pisania VI, mam problem/pytanie w sparawie event structure, chodzi o to czy jest mozliwosc stworzenia jednego eventu "value changed" dla np 6 zmiennych i przekazanie do wewnatrz struktury, zrodla ktore sie zmienilo i jego wartosci? W moim VI mam do napisania statystyke i odczyt czasow poszczegolnych zadan wykonywanych przez robota, calosc sterowania robota tez jest oparta na LV i moglem skorzystac z istniejacego systemu poprzez "podpiecie" sie pod STATUS i mierzenie czasu miedzy zmiana statusu. VI mierzy czas dla 8 akcji/ruchow robota i dziala to bez problem, dodatkowo musze zrobic srednia np z 10 ostatnich pomiarow dla kazdego z "ruchow" osobno, po kazdym "ruchu" dodawana jest jedynka do licznika teraz chcialbym uzyc event structure i obliczyc sobie ostatnie 10 pomiarow korzystajac tylko z jednego eventu ktory bedzie podczas zmiany licznika kazdego z ruchow wykonywal proste obliczenia.

Zamieszczam screen i zrodlo lv 7.1
ps. to moj pierwszy projekt w LV
screen
screen
Załączniki
timings2.vi
zrodlo
(212.1 KiB) Pobrany 235 razy
Awatar użytkownika
smiga
Administrator
Posty: 850
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2019
Lokalizacja: Słupsk

Re: uproszczenie VI przez event structure?

Post autor: smiga »

bender pisze:Witam!

... czy jest mozliwosc stworzenia jednego eventu "value changed" dla np 6 zmiennych i przekazanie do wewnatrz struktury, zrodla ktore sie zmienilo i jego wartosci?
Oczywiście w LabVIEW wszystko jest możliwe ... to tak na dobry początek :)

W załączniku masz przykładowy kod - mam nadzieję, że o to chodziło...

Odnośnie Twojego kodu to:
- strasznie "dziwny" sposób korzystania z notyfikatorów - polecam troszkę o tym poczytać
- dziesiątki zmiennych lokalnych - zaciemniają kod, mogą być źródłem "niechcianych" zachowań (hazard) - w tym przypadku większość z nich (pewnie wszystkie) da się zastąpić przewodem
- struktura sekwencyjna - wyeliminowanie zmiennych lokalnych wyeliminuje strukturę sekwencyjną i będzie czytelniej
- ... ogólnie polecam troszkę posprzątać bo ciężko się to czyta

... a tak poza tym jest ślicznie :)

pozdrawiam
Załączniki
event_multi.vi
(7.53 KiB) Pobrany 268 razy
__ Arkadiusz Śmigielski, tel. 662 01 01 74___
ObrazekObrazekObrazek
Pomogłem ... postaw kawę: https://buycoffee.to/smiga
bender
Posty: 2
Rejestracja: 30 sie 2010 01:16
Wersja środowiska: LabVIEW 8.6

uproszczenie VI przez event structure?

Post autor: bender »

Dziekuje za odpowiedz!

Wydaje mi sie ze dokladnie jest to przyklad tego czego potrzebowalem :)

vi bedzie posprzatane,
zmienne to przyzwyczajenie z VB .NET,
posprzatam :)
notyfikatory pierwszy raz uzywalem, generalnie to w drugim vi sterujacym maszyna jednoczesnie wysyla kilka informacji z roznych czesci maszyny i nie moglem uzyc kolejkowania bo czas ma byc miezony wlasnie miedzy stanem 3 a 1, w tym czasie wykonywane sa inne ruchy wiec mialem czasami timeout. ogolnie VI dziala i jak zostanie juz dopracowane to zamieszcze finalna wersje :)

pozdrawiam i dziekuje!
ODPOWIEDZ