GUI jednej z moich aplikacji

Masz coś ciekawego do zaprezentowania, nie krępuj się o tym tutaj napisać.
spalinowy
Posty: 169
Rejestracja: 03 lut 2012 15:09
Wersja środowiska: LabVIEW 2017
Lokalizacja: Warszawa
Kontakt:

GUI jednej z moich aplikacji

Post autor: spalinowy »

Witam,

zgodnie z wątkiem pokażę jak wykonałem interfejs w jednej z moich aplikacji. Przecież to jest dla użytkownika najważniejsze, więc musi też jakoś ciekawie wyglądać. Może kogoś zainspiruje, a może ktoś pokaże jeszcze ciekawsze rozwiązanie lub coś zasugeruje.
Aplikacja współpracuje z kartą NI USB 6009.
Obsługuje 4 kanały analogowe i 1 cyfrowy jako wyzwalanie pomiaru.
Poza tym można za jej pomocą narysować wykres XY z danych zapisanych w pliku (z filtrem Butterwortha lub bez).
Jest mocno wyspecjalizowana pod moje zastosowania.

GUI1
GUI2
GUI2a
GUI4
GUI4a
GUI5
GUI6
Awatar użytkownika
Pitol
Moderator
Posty: 982
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Re: GUI jednej z moich aplikacji

Post autor: Pitol »

Bardzo ładnie. Gratuluję!
Podejrzewam, że kodem się podzielić nie możesz, z różnych względów, ale chociaż może streścisz nam jak się za to zabrałeś?
Może coś na przyszłość podpowiemy, a może sami coś się nauczymy ;)

A mogę być nieznośny i powiedzieć Ci, że masz literówkę (GUI2 - umoliwiająca)? :YMDEVIL: :YMDEVIL: :YMDEVIL:
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
spalinowy
Posty: 169
Rejestracja: 03 lut 2012 15:09
Wersja środowiska: LabVIEW 2017
Lokalizacja: Warszawa
Kontakt:

Re: GUI jednej z moich aplikacji

Post autor: spalinowy »

Aplikacja nie powstała od razu w tym kształcie, tylko stopniowo ją rozwijałem w wolnym czasie od 2 lat w miarę tego, czego potrzebowałem lub jak rozwijała się moja znajomość LabVIEW. I ta postać też nie jest końcowa, ale raczej będę dorzucał bajery niż coś konkretnego do pomiarów. Pod kątem liczby kanałów i rejestracji, to każda moja aplikacja jest skrojona na miarę, a jedynie rozbudowuję przetwarzanie wyników. Widziałem raz aplikację typu kombajn zrobioną przez kogoś, ale bardzo często jej praca zaczynała się zawieszenia i potrzeby restartu. A też była dla DAQmx USB.

Kod głównego VI jest dość rozbudowany i nie mieści się na jednym ekranie, bo nie wszystko potrafię zamknąć w SubVIs. Jednak złożoność kodu LV oceniło na 3,1 (z tego, co wiem możliwe jest nawet 10 i więcej). Składa się z 3 pętli, gdzie jedna odpowiada za odbieranie danych z karty, druga za przetwarzanie, a trzecia za wczytanie pliku i drobiazgi. Komunikacja między pętlami przez FIFO. Oczywiście wcześniej robią się wszystkie ustawienia kanałów.
Tab Control (zakładki) służy jedynie do ułożenia GUI. GUI zrobiłem na podstawie UI Control Suite: Metalic Theme, a to czego nie było robiłem sam. Czyli brakowało wykresu XY, Tab Control i kontrolki do wybrania lokalizacji pliku. Grafikę panelu czołowego zrobiłem w Power Point a potem wkleiłem. Czyli VI jest cięższy o BMP.

Do tej pory robiłem wyzwalanie i zatrzymywanie pomiaru ręcznie, ale tu jest określony czas pomiaru. Trochę musiałem się z tym pobawić, bo mimo określonego czasu trwania nie zawsze była ta sama liczba próbek w pliku. Dlatego dodałem już automatyczne skracanie pliku wyników do liczby wierszy zależnej od czasu i próbkowania.
Ważne dla mnie było dopracowanie maszyny stanów odpowiadającej za tworzenie i zapis pliku. Zawiera ona wszystkie opisy dotyczące pomiaru, wybór lokalizacji, czyszczenie wykresu tuż przed zapisem, sam zapis, wspomniane skracanie pliku i reset kontrolki zapisu. Całość zapisana do TXT. Mam też wersję do TDMS, ale nie każdy umie używać Diadema lub nie każdy go ma. A jeśli nie to i tak potem wszystko trzeba konwertować. Dlatego przeważnie używam TXT.

Kodem podzielę się w takiej postaci jak poniżej. Struktura ogólna jest jak w przykładach w Find Example, tylko rozwinięte o FIFO. A wnętrze Error Case zawiera jedynie to, czego potrzebowałem.
Kod aplikacji na forum2.png
Kod aplikacji na forum2.png (96.65 KiB) Przejrzano 10001 razy
PS
Właśnie na takie uwagi liczyłem, więc dzięki za wyłapanie błędu :ymapplause:
Awatar użytkownika
Pitol
Moderator
Posty: 982
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Re: GUI jednej z moich aplikacji

Post autor: Pitol »

No to jak już czepiać się mogę (a za to mi płacą :D) to w GUI5, ścieżka do zapisu chowa się pod obrazkiem (prawy, górny róg).
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
spalinowy
Posty: 169
Rejestracja: 03 lut 2012 15:09
Wersja środowiska: LabVIEW 2017
Lokalizacja: Warszawa
Kontakt:

Re: GUI jednej z moich aplikacji

Post autor: spalinowy »

Chyba chodziło o GUI6, ale już poprawione. B-)
ODPOWIEDZ