Powolne działanie aplikacji

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
teslabox
Posty: 80
Rejestracja: 24 mar 2010 15:27
Wersja środowiska: LabVIEW 2010

Powolne działanie aplikacji

Post autor: teslabox »

Witam wszystkich Forumowiczów!

Mam taką aplikację, jak w załączniku. Jej rola polega na odczycie z RS-232 kolejnych bajtów (które mogą przychodzić w różnym czasie, ale nie rzadziej niż co 500 ms i nie częściej niż jakieś 150 ms) i przeliczaniu ich wartości oraz rysowaniu wykresów. Fakt jest taki, że nawet jeśli wartość opóźnienia (Delay [ms]) ustawi się na "0: lub na jakąś bardzo małą dla człowieka wartość, to i tak wykonanie jednej pętli trwa średnio ok. 1028-1032 ms. Natomiast jeżeli źródło nadaje z okresem jaki podałem wyżej to czas pomiędzy kolejnymi odebranymi bajtami jest zgodny z okresem nadawania ich ze źródła. Z czego to wynika?
Żeby móc testować aplikację bez konieczności podłączania się do źródła tych danych, to zrobiłem kontrolkę za pomocą, której można przełączyć się na obliczenia na liczbach wylosowanych.
Załączniki
apk-lv.vi
(37.79 KiB) Pobrany 300 razy
PiDi
Posty: 641
Rejestracja: 31 gru 2010 01:36
Wersja środowiska: LabVIEW 2017
Lokalizacja: Katowice

Re: Powolne działanie aplikacji

Post autor: PiDi »

Jeśli dobrze zrozumiałem (ja i trzech kolegów obok mnie :P ), to problem polega na tym, że masz ustawiony w konfiguracji VISA timeout 1 sekunda i jeśli to twoje urządzenie nie nadaje żadnych danych, to wykonanie pętli trwa ponad jedną sekundę. Bloczek VISA Read jest blokujący - program ruszy po nim dalej albo po odebraniu zadanej liczby bajtów, albo po minięciu timeoutu.

Jeśli to nie to, to napisz mi krok po kroku, co mam klikać tam żeby nie działało.
ObrazekObrazekObrazekObrazek
teslabox
Posty: 80
Rejestracja: 24 mar 2010 15:27
Wersja środowiska: LabVIEW 2010

Re: Powolne działanie aplikacji

Post autor: teslabox »

Dobra, to było to :).
Dzięki i pozdrawiam!
ODPOWIEDZ