Strona 1 z 1

Zawieszanie sie duzej aplikacji LV przy jej zakonczeniu

: 07 wrz 2007 07:08
autor: wbiker
Witam,

Mam problem z dosc rozbudowana aplikacja LabView, mianowicie w momecie jej zakonczenia (po kliknieciu STOP BUTTON w strukturze event) aplikacja "wiesza sie", uzycie CPU dochodzi do 100%. Stan ten trwac moze dobych pare minut lub w nieskonczonosc. Zachowanie to zaobserwowac mozna glownie po dluzszym uzytkowaniu aplikacji.
Program testowany byl pod LV8.2 i 8.21 jako .exe i .vi- zachowanie to samo.

Prosze o rade w czym moze lezec problem.

Z gory dzieki
wgbiker

Re: Zawieszanie sie duzej aplikacji LV przy jej zakonczeniu

: 07 wrz 2007 07:20
autor: mac_671
Nie wiem czy da radę coś "wywróżyć" bo opis probelmu jaki podajesz jest troszkę... lakoniczny.

Skoro problem jest bardziej obserwowalny przy dłuższym działaniu aplikacji isnieje sugestja ze do pamięci ładowane są nowe obiekty a nie są uwalniane, dlatego LV dławi się. Ale to co powiedzałem jest generyczne i nie wiem czy wogóle pomaga.

Może ktoś inny Ci coś lepiej doradzi ja jednak uważam, że by pomóc dobrze było by móc zobaczyć diagram ( chyba ze w grę wchodzą prawa autorskie , bla bla bla :))

Pozdr,
Mac_671

Re: Zawieszanie sie duzej aplikacji LV przy jej zakonczeniu

: 07 wrz 2007 07:40
autor: Mikrobi
Jesień idzie, pewnie ma depresję...

Krotko: jak dla mnie to Ósemka Drutów, ale pokaż diagram

Re: Zawieszanie sie duzej aplikacji LV przy jej zakonczeniu

: 07 wrz 2007 09:29
autor: wbiker
Mikrobi pisze:Jesień idzie, pewnie ma depresję...

Krotko: jak dla mnie to Ósemka Drutów, ale pokaż diagram
Aplikacja sklada sie z ~200 sub VI's wiec prezentacja moglaby byc trudna. Moze wiec pokaze klatke odpowiedzialna za wyjscie z programu.

[img]http://www.e-lotnisko.nazwa.pl/wg_temp/stop.PNG[/img]

W bloczku Write Data nie dzieje sie nic ciekawego oprocz zapisania danych do pliku.
Zmienna globalna stop zatrzymuje serwer pobierajacy dane z magistrali WorldFIP. Tam tez nie widze problemu.
Mikrobi pisze:jak dla mnie to Ă“semka Drutów
Coto jest Osemka drutow?

PS. Chodzi mi tylko o podpowiedz co to moze byc a niekoniecznie o pelne rozwiazanie problemu.
Pewnie ktos juz sie zetknal z tego rodzaju symptomami...

Pozdrawiam
wbiker

Re: Zawieszanie sie duzej aplikacji LV przy jej zakonczeniu

: 07 wrz 2007 09:44
autor: Mikrobi
Symptom jest taki, jak gdyby gdzies nadal kręciła się petla w programie, a taki diagram jak ten niewiele nam powie. Tutaj rzeczywiście kłania sie konwencja tworzenia kodu - tak, to to do czego się przyczepiam na forum 8).
Ósemka Drutów? Zaglądnij do Tarota Dla ProGramistów ;)

Re: Zawieszanie sie duzej aplikacji LV przy jej zakonczeniu

: 07 wrz 2007 09:54
autor: jogurt_owocowy
A co się dzieje dalej w górnej sekwencji? Tak pytam, chociaż też obstawiałbym raczej, że to jakaś pętla "w oddali". Mam parę pomysłów, ale teraz nie mam dostępu do LV. Pogrzebię wieczorem i spróbuję skrobnąć coś bardziej treściwego.

A co do tego tarota, to można by to ładnie wydrukować, wstawić w antyramki czy cuś i rozwiesić na ścianach w labie na uczelni. Na wszystkie to może nie starczyć miejsca (i funduszy), ale niektóre są całkiem ładne. Co myślisz Mikrobi? :)

Re: Zawieszanie sie duzej aplikacji LV przy jej zakonczeniu

: 07 wrz 2007 10:01
autor: Mikrobi
...i to mi sie podoba :!: :)

Re: Zawieszanie sie duzej aplikacji LV przy jej zakonczeniu

: 07 wrz 2007 10:11
autor: wbiker
jogurt_owocowy pisze:A co się dzieje dalej w górnej sekwencji? Tak pytam, chociaż też obstawiałbym raczej, że to jakaś pętla "w oddali". Mam parę pomysłów, ale teraz nie mam dostępu do LV. Pogrzebię wieczorem i spróbuję skrobnąć coś bardziej treściwego.
[img]http://www.e-lotnisko.nazwa.pl/wg_temp/stop2.PNG[/img]

Zachowanie LV jest dosc dziwne w momecie zakonczenia. Wydaje mi sie ze jest to problem Labview jako takiego ale wywolany niepoprawnym stylem programowania (pewnie cos ze zwalnianiem pamieci po uzyciu).

wbiker

Re: Zawieszanie sie duzej aplikacji LV przy jej zakonczeniu

: 07 wrz 2007 10:12
autor: jogurt_owocowy
...i to mi sie podoba
No to trzeba zacząć działać. W ramach pracy społecznej mogę się udzielić :) Zrób rozpoznanie na ile kart jest miejsce, no i czy znalazłaby się jakaś kasa, żeby to zrobić ładniej. Jak nie to będziemy działać w trybie oszczędnościowo-tekturowym. Potem przedyskutujemy szczegóły: które karty wybrać, czy tłumaczyć opisy itd.
Let's do it
:!:
:D

Re: Zawieszanie sie duzej aplikacji LV przy jej zakonczeniu

: 07 wrz 2007 11:01
autor: Mikrobi
wbiker objawy sa nieprawidlowej architektury programu.
Zrób Print, wydrukuj diagram głównego programu (jako dokumentację HTML) i wrzuć w zipie na forum.

Re: Zawieszanie sie duzej aplikacji LV przy jej zakonczeniu

: 07 wrz 2007 19:33
autor: wbiker
Namierzylem chyba problem. W jednym SubVIu zastosowane sa dynamiczne eventy w celu odswierzania Front Panelu podczas gdy wewnatrz tamtego, SubVI odpowiedzialny za sekwencje pomiarową wykonuje się(wykorzystanie eventow w celu komunikacji z VIem w petli). Problem jest w tym ze po uruchomieniu zaobserwowalem w Menedzeze zadan systematyczny wzrost uzytej przez LabView pamieci tak ze przy tysiecznej iteracji uzyta pamiec siega 150Mb. Taki "wyciek" skutkuje pozniejszym zawieszaniem sie calej aplikacji (tak sądze).
Uproscilem Via tak zeby mozna go bylo uruchomic bez zadnego hardware-u (zalaczony zip).
Bylbym wdzieczny za uwagi codo niego.
Z gory dzieki
wbiker