Strona 1 z 1

Obsługa kilku obiektów w klastrze za pomocą Event Structure

: 07 mar 2016 10:39
autor: MK_Zuk
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

Re: Obsługa kilku obiektów w klastrze za pomocą Event Structure

: 07 mar 2016 13:46
autor: TMa
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.

Re: Obsługa kilku obiektów w klastrze za pomocą Event Structure

: 08 mar 2016 22:58
autor: PiDi
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:
Events.png
(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:
EventsDynamic.png

Re: Obsługa kilku obiektów w klastrze za pomocą Event Structure

: 23 mar 2016 12:02
autor: MK_Zuk
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

Re: Obsługa kilku obiektów w klastrze za pomocą Event Structure

: 23 mar 2016 12:59
autor: TMa
MK_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.
W tym celu używa się palety Decorations. Popatrz tu