"Wysyp" programu oraz odczy i zapis danych z szyny CAN

Tematy związane z LabVIEW pracującym w czasie rzeczywistym.
Awatar użytkownika
Dragonfly
Posty: 27
Rejestracja: 02 mar 2009 12:00
Kontakt:

"Wysyp" programu oraz odczy i zapis danych z szyny CAN

Post autor: Dragonfly »

Czy ktokolwiek z forumowiczów spotkał się z wysypaniem się programu Labview ?

Korzystam z wersji 8.6 i z Windowsa Visty. Po około 5 minutach pracy nad moim vi (odbieranie danych z szyny CAN, oraz przesył ich do tej samej szyny, lecz do innego urządzenia) program uporczywie się wysypuje, zapytanie moje jest następujące:

Czy jest to wina mojej niewiedzy i połączenia bloków w nieodpowiedni sposób, bądź ustawienie błędnych parametrów, czy jest to po prostu złośliwość Windowsa ?

Z kolei następne moje pytanie dotyczy samych połączeń oraz funkcjonowania mojego vi. Czy połączenia tak jak to zrealizowałem „modyfikując” przykłady dostarczone z programem Labview będą funkcjonować po mojej myśli ? Mianowicie czy dane, które odbiorę z szyny CAN zostaną w tej samej postaci przesłane z powrotem ?

Plik w załączniku jest zapisany w wersji 8.2. :help:
Umpa umpa studenciach...
vugie
Posty: 383
Rejestracja: 17 lis 2006 00:00
Wersja środowiska: LabVIEW 2009
Lokalizacja: Warszawa

"Wysyp" programu oraz odczy i zapis danych z szyny CAN

Post autor: vugie »

Plik w załączniku jest w wersji 8.6. Ja mam 8.2 i się nie otwiera.
Opisz jeszcze na czym polega "wysyp"
Awatar użytkownika
Dragonfly
Posty: 27
Rejestracja: 02 mar 2009 12:00
Kontakt:

Re: "Wysyp" programu oraz odczy i zapis danych z szyny CAN

Post autor: Dragonfly »

Wszystko robi się jakby za mgłą i wyskakuje okienko z komunikatem

" W wyniku problemu program przestał działać poprawnie, zostanie zamknięty przez Windows, zostaniesz powiadomiony jeżeli będzie jakieś rozwiązanie"

Niestety mam hiszpańskiego windowsa, ale wyskakujące okienko informuje mnie mniej więcej takim komunikatem.

Załączam jeszcze raz plik, zapisany w wersji 8.2
Umpa umpa studenciach...
vugie
Posty: 383
Rejestracja: 17 lis 2006 00:00
Wersja środowiska: LabVIEW 2009
Lokalizacja: Warszawa

"Wysyp" programu oraz odczy i zapis danych z szyny CAN

Post autor: vugie »

Nie mam co prawda tej biblioteki do CAN, ale:
Pierwsze primo: Rozumiem, że chcesz żeby DOLNA część programu wykonała się po tym jak zostanie naciśnięty STOP w GÓRNEJ części programu? Otóż tylko sama pętla While uruchomi się wtedy (bo tylko do niej dopłyną dane po drucie). Poprzedzający ją Case i ncAction.vi wykonają się od razu. Aby uzyskać to, co przypuszczam że chcesz uzyskać musisz wymusić odpowiednią kolejność wykonywania - np. przedrutowując error cluster z ncClose na początek Case'a zamiast tego co tam jest. No i chyba nie trzeba zamykać połączenia przed wysyłaniem... Ale ja nie znam tej biblioteki. Natomiast jeżeli chcesz by dane były wysyłane i odbierane jednocześnie to w ten sposób tego nie zrobisz. Musisz użyć kolejek (Queue) do przesyłania danych między pętlami.

Drugie primo: Ten VI w ogóle nie ma prawa się uruchomić, bo w Case'ie w górnej pętli jeden z tuneli nie jest w pełni odrutowany.
Awatar użytkownika
rumcajs
Posty: 209
Rejestracja: 17 paź 2004 00:00
Lokalizacja: Aktualnie TRW

Re: "Wysyp" programu oraz odczy i zapis danych z szyny CAN

Post autor: rumcajs »

Nie czepiając się struktury programu (strasznie zwalona) i zaznaczając niepodłączony tunel Case'a jako "Use default if unwired" mogę stwierdzić, że program na LV8.5 i WinXP odpala się prawidłowo więc nie problem tu w samym programie a w środowisku LV lub Viście lub sprzęcie (karta CAN)
Czy uruchamiałeś program w trybie debbugingu (żaróweczka) i program nie ruszył wcale? Czy jednak może przeszedł do subvi konfiguracji CAN i tam się wykrzaczył po wywołaniu dll'ki która to znajduje się w tym subvi co mogłoby wskazywać na niepoprawną instalację/ konfigurację karty CAN w systemie Vista. Wykonaj jeszcze raz program w trybie debugingu krok po kroku (przycisk pauza + strzałki) i zobacz w którym miejscu diagramu wylatuje w kosmos.
Rumcajs.
Awatar użytkownika
Dragonfly
Posty: 27
Rejestracja: 02 mar 2009 12:00
Kontakt:

"Wysyp" programu oraz odczy i zapis danych z szyny CAN

Post autor: Dragonfly »

Problem tkwi w tym, że w momencie naprawiania moich błędów, które vugie wskazał, czyli dodrutowywania tuneli program już się wysypuje. Wkońcu po wielokrotnym uruchomieniu udało mi się poprawić wszystkie blędy (te mniejsze, zostaje jeszcze kwestia Queue) i po odpaleniu w trybie debbug wszytsko chodzi, lecz po paru minutach znowu LV się wysypuje. Ekran robi sie matowy i wyskakuje to samo okienko.

W momencie kiedy próbuje znowu zmieniać strukture mojego vi znów mam ten sam komunikat.
Umpa umpa studenciach...
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: "Wysyp" programu oraz odczy i zapis danych z szyny CAN

Post autor: jogurt_owocowy »

Ciekawa sprawa, bo u mnie też się wysypuje (8.6). Udało mi się zreprodukować problem trzykrotnie: dwa razy przy zamykaniu Twojego VIaja i raz zaraz po otwarciu. Może Twój problem jest jakoś związany z mitycznymi szalonymi obiektami?
Awatar użytkownika
Dragonfly
Posty: 27
Rejestracja: 02 mar 2009 12:00
Kontakt:

"Wysyp" programu oraz odczy i zapis danych z szyny CAN

Post autor: Dragonfly »

Czyli nie zostaje mi nic innego jak "przerysować" całość od początku ?
Umpa umpa studenciach...
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: "Wysyp" programu oraz odczy i zapis danych z szyny CAN

Post autor: jogurt_owocowy »

Szczerze mówiąc: nie wiem, bo nigdy nie miałem przyjemności zetknąć się ze zjawiskiem szalonych obiektów.

Podsumowując to, co zostało napisane:
1. U mnie problem reprodukował się (w nieco zmienionej formie) na XPeku, więc to nie wina Visty.
2. Nie mam biblioteki do CANa, więc raczej nie jest to też problem samej biblioteki.

Spróbuj przerysować całość zgodnie z sugestiami vugiego i napisz czy pomogło.
Niekoniecznie musisz używać od razu kolejek, bo jeśli dobrze rozumiem, to odczyt danych z jednego urządzenia, a następnie wysłanie do innego możesz zrobić w jednej pętli łącząc klocki do odczytu i wysyłania jeden za drugim.

Pozdrawiam
Ostatnio zmieniony 01 kwie 2009 11:49 przez jogurt_owocowy, łącznie zmieniany 1 raz.
Awatar użytkownika
Dragonfly
Posty: 27
Rejestracja: 02 mar 2009 12:00
Kontakt:

"Wysyp" programu oraz odczy i zapis danych z szyny CAN

Post autor: Dragonfly »

Po przerysowaniu nie wystąpił już ten błąd, wygląda na to, żę miałem okazję zapoznać się z "szalonymi obiektami". Wielkie dzięki za pomoc :)

A co do wysyłania to zgadza się, odbieram dane z jednego urządzenia i wysyłam je do innego.
Umpa umpa studenciach...
ODPOWIEDZ