Zawieszanie sie duzej aplikacji LV przy jej zakonczeniu

Jeśli masz coś do powiedzenia w sprawie LabVIEW napisz. Tutaj są tematy, których nie można uściślić do innych działów.
wbiker
Posty: 29
Rejestracja: 31 paź 2004 00:00

Zawieszanie sie duzej aplikacji LV przy jej zakonczeniu

Post 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
Awatar użytkownika
mac_671
Posty: 26
Rejestracja: 14 sie 2007 00:00
Lokalizacja: Kraków

Re: Zawieszanie sie duzej aplikacji LV przy jej zakonczeniu

Post 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
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

Re: Zawieszanie sie duzej aplikacji LV przy jej zakonczeniu

Post autor: Mikrobi »

Jesień idzie, pewnie ma depresję...

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

LabVIEW Champion, CLD, CPI
wbiker
Posty: 29
Rejestracja: 31 paź 2004 00:00

Re: Zawieszanie sie duzej aplikacji LV przy jej zakonczeniu

Post 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
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

Re: Zawieszanie sie duzej aplikacji LV przy jej zakonczeniu

Post 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 ;)
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Zawieszanie sie duzej aplikacji LV przy jej zakonczeniu

Post 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? :)
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

Re: Zawieszanie sie duzej aplikacji LV przy jej zakonczeniu

Post autor: Mikrobi »

...i to mi sie podoba :!: :)
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI
wbiker
Posty: 29
Rejestracja: 31 paź 2004 00:00

Re: Zawieszanie sie duzej aplikacji LV przy jej zakonczeniu

Post 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
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Zawieszanie sie duzej aplikacji LV przy jej zakonczeniu

Post 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
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

Re: Zawieszanie sie duzej aplikacji LV przy jej zakonczeniu

Post 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.
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI
wbiker
Posty: 29
Rejestracja: 31 paź 2004 00:00

Re: Zawieszanie sie duzej aplikacji LV przy jej zakonczeniu

Post 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
ODPOWIEDZ