Witam.
Mam problem taki:
- mam 8 kanałów analogowych, których konfiguracja ustawiona jest
za pomocą klastra (Custom Control) (Rys 1)
- W klastrze znajduje się drugi klaster ("Wartość") zawierający konfigurację
przetwornika pomiarowego.
- Klikając przycisk "Z tabeli" otwiera się okno wyboru dostępnych przetworników,
- W chwili obecnej zrobiłem kod który działa tylko dla jednego kanału, (Rys 2 - kod, Rys 3 - event)
żeby obsłużyć wszystkie 8 kanałów musiałbym utworzyć tyle samo zdarzeń w strukturze Event.
Czy jest jakaś możliwość w jednym zdarzeniu wykryć, który kanał użytkownik chce konfigurować
i tylko w nim dokonać zmiany? Czy muszę obsłużyć każdy kanał w osobnym zdarzeniu?
Jako załączniki wrzucam widok okna konfiguracji oraz kod wykonany do obsługi przycisku Z tabeli dla kanału 1.
Będzie się trzeba jakoś dostać do referencji tych przycisków i porównywać z aktualnie przyciśniętym, tylko
nie mam pojęcia jak to zrobić.
Pozdrawiam
Marek
Obsługa kilku obiektów w klastrze za pomocą Event Structure
Re: Obsługa kilku obiektów w klastrze za pomocą Event Structure
Na pierwszy rzut oka masz zbyt mocne sprzężenie pomiędzy danymi przechowującymi konfigurację i interfejsem użytkownika. Jak chcesz stworzyć aplikację elastyczną na ilość kanałów, typy konfiguracji, rodzaje wejść/wyjść - potrzebujesz rozdzielić te dwie warstwy (co np w przypadku karty daq o 32 AI?).
Krótko rzecz ujmując: stwórz sobie klaster, z którego konfigurujesz dany typ IO i uaktualniaj do w zależności od aktywnego (dla użytkownika) indeksu. Przyciski do dodatkowej obsługi też będą się tyczyć danego (wybranego) kanału.
Krótko rzecz ujmując: stwórz sobie klaster, z którego konfigurujesz dany typ IO i uaktualniaj do w zależności od aktywnego (dla użytkownika) indeksu. Przyciski do dodatkowej obsługi też będą się tyczyć danego (wybranego) kanału.
Ostatnio zmieniony 07 mar 2016 13:47 przez TMa, łącznie zmieniany 1 raz.
-
- Posty: 641
- Rejestracja: 31 gru 2010 01:36
- Wersja środowiska: LabVIEW 2017
- Lokalizacja: Katowice
Re: Obsługa kilku obiektów w klastrze za pomocą Event Structure
Podobnie jak TMa mam wątpliwości co do tego kodu (czemu przycisk do wczytywania należy do klastra z konfiguracją? to dwie kompletnie różne rzeczy, konfiguracja powinna być jasno zdefiniowanym klastrem, przycisk do jej wczytywania nie powinien do niej należeć), ale dla sportu można tak:
Trochę łatwiejsze w rozbudowie rozwiązanie może wykorzystać dynamiczną rejestrację eventów - tu łatwiej dodać kolejne kontrolki do obsłużenia:
(ciche założenie - te klastry powinny być oczywiście typedefami, inaczej wszystko się przy pierwszej zmianie rozsypie).Trochę łatwiejsze w rozbudowie rozwiązanie może wykorzystać dynamiczną rejestrację eventów - tu łatwiej dodać kolejne kontrolki do obsłużenia:
- Załączniki
-
- EventsDynamic.vi
- (15.45 KiB) Pobrany 375 razy
-
- Events.vi
- (13.75 KiB) Pobrany 380 razy
Re: Obsługa kilku obiektów w klastrze za pomocą Event Structure
Dzięki serdeczne.
Co do rozwiązania TMa niestety kod jest już tak daleko, że wygodniej będzie
mimo wszystko zrobić 8 eventów, Twoją uwagę zapamiętam na przyszłość ;)
Dlaczego przycisk należy do klastra: chciałem, żeby ładnie w GUI wyglądało
i żeby przycisk w GUI od razu intuicyjnie wskazywał na swoje działanie.
Pozdrawiam
Marek
Co do rozwiązania TMa niestety kod jest już tak daleko, że wygodniej będzie
mimo wszystko zrobić 8 eventów, Twoją uwagę zapamiętam na przyszłość ;)
Dlaczego przycisk należy do klastra: chciałem, żeby ładnie w GUI wyglądało
i żeby przycisk w GUI od razu intuicyjnie wskazywał na swoje działanie.
Pozdrawiam
Marek
Re: Obsługa kilku obiektów w klastrze za pomocą Event Structure
W tym celu używa się palety Decorations. Popatrz tuMK_Zuk pisze:Dzięki serdeczne.
Dlaczego przycisk należy do klastra: chciałem, żeby ładnie w GUI wyglądało
i żeby przycisk w GUI od razu intuicyjnie wskazywał na swoje działanie.