Hej,
Zastanwiam się czy jest możliwe stworzenie aplikacji LabVIEW w postaci serwisu, uruchomic na wirtualnej maszynie i zlecac tylko jakies zadania lub miec odpalony serwis caly czas. Serwis mialby w moim przypadku wspierac komunikacje po TCP/UDP/UDPCP.
Wydaje mi się, że kiedyś podobne coś widziałam, ale nie wiem gdzie zacząć poszukiwania. Może ktoś już się z tym spotkał?
Aplikacja LabVIEW w postaci serwisu
- __behemot_
- Posty: 57
- Rejestracja: 03 lip 2008 09:05
- Wersja środowiska: LabVIEW 2009
- Lokalizacja: Wrocław
- Kontakt:
Aplikacja LabVIEW w postaci serwisu
"kobieta też człowiek, też może być"
- Nowszy
- Posty: 504
- Rejestracja: 30 maja 2008 08:33
- Wersja środowiska: LabVIEW 2011
- Lokalizacja: Katowice
- Kontakt:
Aplikacja LabVIEW w postaci serwisu
Witaj
Sposobów na osiągnięcie takiej funkcjonalności jest wiele i wybór konkretnej wymaga znajomości szczegółów aplikacji, wymagań, etc. Zawsze możesz stworzyć własną architekturę, powiedzmy Producer-Consumer, gdzie producent będzie odbierał komenty po sieci i przesyłał do konsumenta (-ów).
Inną możliwością jest wykorzystanie VI Servera i uruchamianie dynamiczne VIów za pomocą wbudowanej w LV funkcjonalności komunikacji z VI Serverem przez sieć (http://zone.ni.com/reference/en-XX/help ... g_options/ , https://decibel.ni.com/content/docs/DOC-6881)
Sposobów na osiągnięcie takiej funkcjonalności jest wiele i wybór konkretnej wymaga znajomości szczegółów aplikacji, wymagań, etc. Zawsze możesz stworzyć własną architekturę, powiedzmy Producer-Consumer, gdzie producent będzie odbierał komenty po sieci i przesyłał do konsumenta (-ów).
Inną możliwością jest wykorzystanie VI Servera i uruchamianie dynamiczne VIów za pomocą wbudowanej w LV funkcjonalności komunikacji z VI Serverem przez sieć (http://zone.ni.com/reference/en-XX/help ... g_options/ , https://decibel.ni.com/content/docs/DOC-6881)
Pozdrawiam, Maciek Antonik
Edu4Industry
Edu4Industry
- __behemot_
- Posty: 57
- Rejestracja: 03 lip 2008 09:05
- Wersja środowiska: LabVIEW 2009
- Lokalizacja: Wrocław
- Kontakt:
Re: Aplikacja LabVIEW w postaci serwisu
Dziękuję za pomoc.
Zdecydowanie nadal nic nie wiem. (to nie sarkazm)
Założenie:
Celem projektu jest symulowanie urządzenia, komunikującego się po jednym z dostępnych protokołów: TCP/UDP/UDPCP w konfiguracji ustawionej przez użytkownika (endianity, port i inne specyficzne dla tego urządzenia). Użytkowników takiego symulatora jest wielu, jak również użytkownikiem jest inna aplikacja, która musi mieć możliwość przesłania danych konfiguracyjnych symulatora.
Symulator powinien działać jako proces ukryty, ale z możliwością uaktywnienia GUI. Symulator musi tworzyć logi i je gdzieś zapisywać (tu nie jest określone gdzie, ważne by było do nich dostęp).
Czy informacje te rozjaśniają sytuację? Czy łatwiej teraz określić najwłaściwszą technologię, architekture?
Samo oprogramowanie myślę, że nie będzie trudne, jedynie decyzja o architekturze :/
Zdecydowanie nadal nic nie wiem. (to nie sarkazm)
Założenie:
Celem projektu jest symulowanie urządzenia, komunikującego się po jednym z dostępnych protokołów: TCP/UDP/UDPCP w konfiguracji ustawionej przez użytkownika (endianity, port i inne specyficzne dla tego urządzenia). Użytkowników takiego symulatora jest wielu, jak również użytkownikiem jest inna aplikacja, która musi mieć możliwość przesłania danych konfiguracyjnych symulatora.
Symulator powinien działać jako proces ukryty, ale z możliwością uaktywnienia GUI. Symulator musi tworzyć logi i je gdzieś zapisywać (tu nie jest określone gdzie, ważne by było do nich dostęp).
Czy informacje te rozjaśniają sytuację? Czy łatwiej teraz określić najwłaściwszą technologię, architekture?
Samo oprogramowanie myślę, że nie będzie trudne, jedynie decyzja o architekturze :/
"kobieta też człowiek, też może być"
- Nowszy
- Posty: 504
- Rejestracja: 30 maja 2008 08:33
- Wersja środowiska: LabVIEW 2011
- Lokalizacja: Katowice
- Kontakt:
Aplikacja LabVIEW w postaci serwisu
Witaj
Czy symulator będzie uruchamiany z aplikacji napisanych w LabVIEW, czy z różnych środowisk? Ja bym stworzył aplikację EXE która będzie nasłuchiwała na konkretnym porcie TCP i zarządzała wieloma klientami. Osobny port TCP (i inne) będzie stworzony do samej symulacji komunikacji.
Kwestia minimalizacji do Tray'a i inne jest raczej sprawą poboczną (dość stary artykuł, ale chyba nadal działa: http://digital.ni.com/public.nsf/allkb/ ... 250021D9FA). Na razie skoncentruj się na samej architekturze symulatora-serwera. Rozpisz sobie jakie pętle będą potrzebne, jak obsłużyć kilku klientów na raz, etc
Czy symulator będzie uruchamiany z aplikacji napisanych w LabVIEW, czy z różnych środowisk? Ja bym stworzył aplikację EXE która będzie nasłuchiwała na konkretnym porcie TCP i zarządzała wieloma klientami. Osobny port TCP (i inne) będzie stworzony do samej symulacji komunikacji.
Kwestia minimalizacji do Tray'a i inne jest raczej sprawą poboczną (dość stary artykuł, ale chyba nadal działa: http://digital.ni.com/public.nsf/allkb/ ... 250021D9FA). Na razie skoncentruj się na samej architekturze symulatora-serwera. Rozpisz sobie jakie pętle będą potrzebne, jak obsłużyć kilku klientów na raz, etc
Pozdrawiam, Maciek Antonik
Edu4Industry
Edu4Industry
Re: Aplikacja LabVIEW w postaci serwisu
Nie wiem czy nie przekombinowałem, ale widziałbym to tak:
- Główny proces nadawczy/nasłuchowy pracuje sobie na komputerze jako demon, wywoływany z osobnego VI, Launchera.
- Demon pracuje w architekturze kolejkowanej maszyny stanów, gdzie kolejka przechowywana jest w Functional Globalu, dzięki czemu kolejne stany dodawane być mogą niezależnie przez Launchera i w samym demonie, w zależności od potrzeby. Docelowo w ten sposób mogą być także przekazywane dane.
- Launcher posiadać może opcję wywołania panelu frontowego symulatora. Konfigurację rozwiązać można albo przez wspomnianego globala, albo bezpośrednio na panelu frontowym symulatora/demona.
Nie wiem, czy nie mnożę tu bytów ponad potrzebę, jeśli jednak jest konieczność, żeby symulator pracował sobie w tle, może taka architektura warta jest rozważenia?
Załączam szkic tego, jak bym to widział. (odpalać proszę plik daemonTest.vi)
- Główny proces nadawczy/nasłuchowy pracuje sobie na komputerze jako demon, wywoływany z osobnego VI, Launchera.
- Demon pracuje w architekturze kolejkowanej maszyny stanów, gdzie kolejka przechowywana jest w Functional Globalu, dzięki czemu kolejne stany dodawane być mogą niezależnie przez Launchera i w samym demonie, w zależności od potrzeby. Docelowo w ten sposób mogą być także przekazywane dane.
- Launcher posiadać może opcję wywołania panelu frontowego symulatora. Konfigurację rozwiązać można albo przez wspomnianego globala, albo bezpośrednio na panelu frontowym symulatora/demona.
Nie wiem, czy nie mnożę tu bytów ponad potrzebę, jeśli jednak jest konieczność, żeby symulator pracował sobie w tle, może taka architektura warta jest rozważenia?
Załączam szkic tego, jak bym to widział. (odpalać proszę plik daemonTest.vi)
- Załączniki
-
- TCP_Daemon.zip
- (50.85 KiB) Pobrany 464 razy