Interaktywny podgląd VI
-
- Posty: 383
- Rejestracja: 17 lis 2006 00:00
- Wersja środowiska: LabVIEW 2009
- Lokalizacja: Warszawa
Interaktywny podgląd VI
Od dłuższego czasu noszę się z pewnym pomysłem. Niniejszy post jest pierwszą próbą pisemnego usystematyzowania sobie tego, więc z góry przepraszam jeżeli wkradnie się tu jakiś chaos.
Opis problemu Jest sobie forum LabVIEW (BTW szczere wyrazy uznania dla administratorów). Na forum użytkownicy opisują swoje problemy ilustrując je bądź screenami swoich programów, bądź pełnymi VI-ami. Jakie te programy bywają - wszyscy wiemy. Te dwa sposoby prezentacji mają swoje wady. Screeny bywają duże i rozwalają wyświetlanie wątku. Często zawierają bloczki, których akurat po ikonce nie rozpoznajemy. Jeżeli program zawiera stacked sequence albo case structure (nie daj Bóg zagnieżdżone), to części kodu w ogóle nie widać. Z kolei dołączony VI trzeba ściągnąć, uruchomić LV, przebrnąć warningi wynikające z brakujących bibliotek, nie mówiąc już o niezgodności wersji LV. Jak sobie człowiek to wszystko przypomni widząc VI dołączony do mętnie sformułowanego pytania, to przestaje mu się chcieć pomagać, choć nierzadko jest to tylko kwestia zerknięcia na diagram. A jak już wygeneruje jakąś odpowiedź w postaci diagramu to znów staje przed dylematem - robić screena czy zamieszczać VI. Najprościej screena, ale jak są jakieś case'y, to trzeba się trochę przy tym napracować. Z kolei po zamieszczeniu VI skorzysta tylko autor pytania i to jak będzie miał odpowiednią wersję LV. Każdy tylko średnio zainteresowany problemem nie zapozna się z jego rozwiązaniem. W efekcie tego ogólna wiedza użytkowników nie przyrasta tak szybko jak by mogła.
Rozwiązanie Rozwiązaniem mogłaby być aplikacja generująca interaktywne podglądy VI-ów. Podstawowe funkcje takiego interaktywnego podglądu to: - daje się w prosty sposów zamieścić w treści postu, nie psując wyświetlania wątku - okienko ze scrollbarami - przełączanie pomiędzy widokiem panelu i diagramu - możliwość oglądania wszystkich zagnieżdżonych i przełączalnych struktur - najechanie kursorem na element powoduje pojawienie się w dymku jego Label i Description - możliwość ściągnięcia pełnego VI
Nasuwają mi się dwa możliwe rozwiązanie techniczne - Flash - DHTML Za Flashem przemawia
większa kompaktowość (1 plik), łatwość umieszczania w poście i możliwość dodatkowej funkcji - skalowanie. Za DHTML-em - łatwość generowania. Oraz dwa możliwe miejsca działania - Client side - rozwiązanie najprostsze - użytkownik ściąga sobie program, generuje podgląd VI-a i umieszcza go w poście. Wada - trzeba go tego nauczyć - Server side - serwer za pomocą CGI sam generuje podgląd na podstawie VI zamieszczonego przez użytkownika. Wada - na serwer musi mieć CGI, musi stać na nim LV z pełnym dostępem do bibliotek (inaczej np. nie odczyta ikon).
Ja skłaniam się raczej do kombinacji Flash/Client side.
Implementacja Bez Scriptingu (niech będzie przeklęty na wieki) ani rusz. Porobiłem już pierwsze próby i przy pomocy LV8.2 i różnych narzędzi spod ciemnej gwiazdy wygrzebanych w mrocznych zakamarkach LAVY jestem w stanie mniej lub bardziej sprawnie dobrać się do diagramu i rozebrać go na części.
Można w zasadzie wykorzystać też drukowanie diagramu do HTMLa i generowane przy tej okazji obrazki, ale jakoś to mniej eleganckie i mniej mroczne. Przyjrzałem się też kilku narzędziom do dynamicznego generowania Flashek. Szczególnie obiecujące wydaje się SSWF - generuje swf-y na podstawie skryptów z pliku tekstowego.
Zasada działania generatora podglądów byłaby taka: Analiza Front Panelu i generowanie obrazków (liczba mnoga, bo zakładki) -> analiza diagramu i generowanie obrazków -> tworzenie skryptu na podstawie przygotowanego wcześniej szablonu i drzewa diagramu -> generacja Flashki. Proste jak drut, niestety kupa roboty
Proponuję więc stworzenie zespołu, który zająłby się takim projektem jako wkładem dla polskiej społeczności LV i nie tylko - te same problemy muszą przecież występować na wszystkich innych forach dotyczących LV. Oczywiście na jakiejś opensourcowej licencji. Potrzebni będą w szczególności - ktoś znający się na zarządzaniu projektem informatycznym, żeby można to było sensownie zaplanować i ogarnąć - ktoś znający się na Flashu, jakby miał praktykę w dynamicznej generacji, to byłaby poezja - ktoś mający pojęcie o Scriptingu, szczególnie jeżeli miałby dostęp do LV7 - każdy inny kto będzie miał czas, chęć i umiejętności by w sensowny sposób do projektu się przyłożyć.
Dużym problemem może tu być czas i dostęp do narzędzi, ponieważ LV nie należy do programów, które miewa się w domu. Ja osobiście spróbuję poprosić swojego pracodawcę by pozwolił mi wygospodarować trochę czasu na ten projekt w zamian za umieszczenie w programie logo firmy i kilku informacji - jako rodzaj promocji, mam nadzieję że ogólnoświatowej. Myślę, że MGI to sobie w taki sposób niezłą reklamę zrobiło.
Rozwój W dalszej perspektywie widzę przekształcenie takiego narzędzia w coś w rodzaju programu do automatycznej dokumentacji kodu. O ile wiem to jeszcze nic takiego nie ma, a drukowanie do HTML-a jest dosyć ubogie. Co prawda wpadło mi gdzieś w oko, że podobno w OpenG gdzieniegdzie używano czegoś w tym rodzaju, ale jest to w baaardzo wczesnej fazie rozwoju.
To z grusza tyla. Pomożecie?
Opis problemu Jest sobie forum LabVIEW (BTW szczere wyrazy uznania dla administratorów). Na forum użytkownicy opisują swoje problemy ilustrując je bądź screenami swoich programów, bądź pełnymi VI-ami. Jakie te programy bywają - wszyscy wiemy. Te dwa sposoby prezentacji mają swoje wady. Screeny bywają duże i rozwalają wyświetlanie wątku. Często zawierają bloczki, których akurat po ikonce nie rozpoznajemy. Jeżeli program zawiera stacked sequence albo case structure (nie daj Bóg zagnieżdżone), to części kodu w ogóle nie widać. Z kolei dołączony VI trzeba ściągnąć, uruchomić LV, przebrnąć warningi wynikające z brakujących bibliotek, nie mówiąc już o niezgodności wersji LV. Jak sobie człowiek to wszystko przypomni widząc VI dołączony do mętnie sformułowanego pytania, to przestaje mu się chcieć pomagać, choć nierzadko jest to tylko kwestia zerknięcia na diagram. A jak już wygeneruje jakąś odpowiedź w postaci diagramu to znów staje przed dylematem - robić screena czy zamieszczać VI. Najprościej screena, ale jak są jakieś case'y, to trzeba się trochę przy tym napracować. Z kolei po zamieszczeniu VI skorzysta tylko autor pytania i to jak będzie miał odpowiednią wersję LV. Każdy tylko średnio zainteresowany problemem nie zapozna się z jego rozwiązaniem. W efekcie tego ogólna wiedza użytkowników nie przyrasta tak szybko jak by mogła.
Rozwiązanie Rozwiązaniem mogłaby być aplikacja generująca interaktywne podglądy VI-ów. Podstawowe funkcje takiego interaktywnego podglądu to: - daje się w prosty sposów zamieścić w treści postu, nie psując wyświetlania wątku - okienko ze scrollbarami - przełączanie pomiędzy widokiem panelu i diagramu - możliwość oglądania wszystkich zagnieżdżonych i przełączalnych struktur - najechanie kursorem na element powoduje pojawienie się w dymku jego Label i Description - możliwość ściągnięcia pełnego VI
Nasuwają mi się dwa możliwe rozwiązanie techniczne - Flash - DHTML Za Flashem przemawia
większa kompaktowość (1 plik), łatwość umieszczania w poście i możliwość dodatkowej funkcji - skalowanie. Za DHTML-em - łatwość generowania. Oraz dwa możliwe miejsca działania - Client side - rozwiązanie najprostsze - użytkownik ściąga sobie program, generuje podgląd VI-a i umieszcza go w poście. Wada - trzeba go tego nauczyć - Server side - serwer za pomocą CGI sam generuje podgląd na podstawie VI zamieszczonego przez użytkownika. Wada - na serwer musi mieć CGI, musi stać na nim LV z pełnym dostępem do bibliotek (inaczej np. nie odczyta ikon).
Ja skłaniam się raczej do kombinacji Flash/Client side.
Implementacja Bez Scriptingu (niech będzie przeklęty na wieki) ani rusz. Porobiłem już pierwsze próby i przy pomocy LV8.2 i różnych narzędzi spod ciemnej gwiazdy wygrzebanych w mrocznych zakamarkach LAVY jestem w stanie mniej lub bardziej sprawnie dobrać się do diagramu i rozebrać go na części.
Można w zasadzie wykorzystać też drukowanie diagramu do HTMLa i generowane przy tej okazji obrazki, ale jakoś to mniej eleganckie i mniej mroczne. Przyjrzałem się też kilku narzędziom do dynamicznego generowania Flashek. Szczególnie obiecujące wydaje się SSWF - generuje swf-y na podstawie skryptów z pliku tekstowego.
Zasada działania generatora podglądów byłaby taka: Analiza Front Panelu i generowanie obrazków (liczba mnoga, bo zakładki) -> analiza diagramu i generowanie obrazków -> tworzenie skryptu na podstawie przygotowanego wcześniej szablonu i drzewa diagramu -> generacja Flashki. Proste jak drut, niestety kupa roboty
Proponuję więc stworzenie zespołu, który zająłby się takim projektem jako wkładem dla polskiej społeczności LV i nie tylko - te same problemy muszą przecież występować na wszystkich innych forach dotyczących LV. Oczywiście na jakiejś opensourcowej licencji. Potrzebni będą w szczególności - ktoś znający się na zarządzaniu projektem informatycznym, żeby można to było sensownie zaplanować i ogarnąć - ktoś znający się na Flashu, jakby miał praktykę w dynamicznej generacji, to byłaby poezja - ktoś mający pojęcie o Scriptingu, szczególnie jeżeli miałby dostęp do LV7 - każdy inny kto będzie miał czas, chęć i umiejętności by w sensowny sposób do projektu się przyłożyć.
Dużym problemem może tu być czas i dostęp do narzędzi, ponieważ LV nie należy do programów, które miewa się w domu. Ja osobiście spróbuję poprosić swojego pracodawcę by pozwolił mi wygospodarować trochę czasu na ten projekt w zamian za umieszczenie w programie logo firmy i kilku informacji - jako rodzaj promocji, mam nadzieję że ogólnoświatowej. Myślę, że MGI to sobie w taki sposób niezłą reklamę zrobiło.
Rozwój W dalszej perspektywie widzę przekształcenie takiego narzędzia w coś w rodzaju programu do automatycznej dokumentacji kodu. O ile wiem to jeszcze nic takiego nie ma, a drukowanie do HTML-a jest dosyć ubogie. Co prawda wpadło mi gdzieś w oko, że podobno w OpenG gdzieniegdzie używano czegoś w tym rodzaju, ale jest to w baaardzo wczesnej fazie rozwoju.
To z grusza tyla. Pomożecie?
- wino
- Posty: 549
- Rejestracja: 23 gru 2005 00:00
- Wersja środowiska: Nie mam LabVIEW
- Lokalizacja: Kraków
Re: Interaktywny podgląd VI
spoko pomysł, ja z chęcią sie przyłącze. ale musimy sie dogadać jakoś czasowo 

- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: Interaktywny podgląd VI
Też mi się taki pomysł-wyzwanie podoba, ale dużo tu wątpliwości. Co jak ktoś zrobi diagram 10000*10000 pikseli? Co z subviajami czy klockami których konfiguracji nie widać "z wierzchu". No, ale ciekawe to to, ciekawe... Mógłbym się przyczynić do części scriptingowej (musi być mrocznie).
W końcu do odważnych świat należy
W końcu do odważnych świat należy

- wino
- Posty: 549
- Rejestracja: 23 gru 2005 00:00
- Wersja środowiska: Nie mam LabVIEW
- Lokalizacja: Kraków
Re: Interaktywny podgląd VI
jogurt jak sie kiedyś spotkamy to każdy pewnie wrzuci swoje wątpliwości...
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: Interaktywny podgląd VI
Racja. Zapomniałem, że forum przecież nie jest od tego.
Re: Interaktywny podgląd VI
Istnieje mechanizm webowy (wiem brzydkie slowo) pozwalający na sprawdzenie on-line nowych wersji LabVIEW:
Kto wie (własnie....) o możliwości użytkowania, wymaganiach i ograniczeniach...?
Co do "mrocznych" pomysłów: myślę, że taki sposób na wykorzystanie Ciemnej Strony LabVIEW 8) uzyskał by dyspensę NI ;)
Kto wie (własnie....) o możliwości użytkowania, wymaganiach i ograniczeniach...?
Co do "mrocznych" pomysłów: myślę, że taki sposób na wykorzystanie Ciemnej Strony LabVIEW 8) uzyskał by dyspensę NI ;)
-
- Posty: 383
- Rejestracja: 17 lis 2006 00:00
- Wersja środowiska: LabVIEW 2009
- Lokalizacja: Warszawa
Re: Interaktywny podgląd VI
To pies z niem tańcował. I tak by mu nikt nie pomógłCo jak ktoś zrobi diagram 10000*10000 pikseli?
Można to sobie darować. Wiele tego typu rzeczy można wywnioskować z kontekstu, np. z grubosci przewodów.Co z subviajami czy klockami których konfiguracji nie widać "z wierzchu"
To od czego jest?Zapomniałem, że forum przecież nie jest od tego.
Faktycznie, natknąłem się na to kiedyś. Java o ile pamiętam. Myślę, że jest to coś w rodzaju terminala VNCIstnieje mechanizm webowy (wiem brzydkie slowo) pozwalający na sprawdzenie on-line nowych wersji LabVIEW
Walczę teraz, żeby zrobić jakąś flashową demonstrację, przy użyciu swftools. Dzięki za deklaracje pomocy. Myślę, że powinniśmy to dokładniej obgadać w przyszłym tygodniu.
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: Interaktywny podgląd VI
Ja nie wiem. Wino wieTo od czego jest?Zapomniałem, że forum przecież nie jest od tego.

A co do tych wątpliwości to wiadomo, że wszystkiego się tam nie da upchać, ale z drugiej strony jakąś idiotoodporność musi to posiadać. W sumie subviaje można ostatecznie obsłużyć tak samo jak "topa" albo nie robić tego wcale (opcja), a niewidoczne opcje klocków może uda się jakoś wyciągnąć na wierzch. Obaczym.
-
- Posty: 383
- Rejestracja: 17 lis 2006 00:00
- Wersja środowiska: LabVIEW 2009
- Lokalizacja: Warszawa
Re: Interaktywny podgląd VI
Takie coś wysmażyłem:
KLIK
Na razie użyłem drukowania do HTML-u i ręcznie napisałem skrypt w swftools
Naciska się normalnie na strzałeczki. Case'y na razie się nia zawijają.
A TU skrypt, który to generuje.
Czemu nie działa zamieszcznie flashek na forum?
[flash]http://vugie.republika.pl/mult.swf[/flash]
KLIK
Na razie użyłem drukowania do HTML-u i ręcznie napisałem skrypt w swftools
Naciska się normalnie na strzałeczki. Case'y na razie się nia zawijają.
A TU skrypt, który to generuje.
Czemu nie działa zamieszcznie flashek na forum?
[flash]http://vugie.republika.pl/mult.swf[/flash]
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: Interaktywny podgląd VI
Dobre! Podoba mi się to. Jeśli chodzi o automatyczne wygenerowanie takiego skryptu to nie powinno być problemu (dużo nas, mamy duże motyki, a Słońce tylko jedno ;) ). Nie znam się na Flashu, ale z tego co tu pokazałeś nie wygląda to źle.
W wersji 1.0 można by się ograniczyć do:
- przewijania struktur (także scrollem myszy - jak w edytorze)
- wyświetlania labelek klocków przy zawieszeniu nad nimi kursora
W kolejnych dołożyć Front Panel i możliwość wchodzenia do subviajów, a w następnych... strach pomyśleć
W wersji 1.0 można by się ograniczyć do:
- przewijania struktur (także scrollem myszy - jak w edytorze)
- wyświetlania labelek klocków przy zawieszeniu nad nimi kursora
W kolejnych dołożyć Front Panel i możliwość wchodzenia do subviajów, a w następnych... strach pomyśleć

Re: Interaktywny podgląd VI
Witam,
jestem na tym forum od ok. 2-ch tygodni, ponieważ od miesiąca dopiero pracuję w miejscu, gdzie potrzebne mi jest labview bardzo. Ten interaktywny podgląd to jest pierwsza rzecz o której pomyślałem, że byłaby przydatna. vugie, bardzo fajne jest to co pokazałeś - tak trzymać.
Pomysł
z wyświetlaniem labelek jak bardzo fajny, chociaż chętniej bym widział coś w rodzaju <Ctrl+H>. To pewnie dlatego, że jeszcze nie przegryzłem LV na wylot - ale to kwestia czasu. Nie wiem czy mogę być w jakikolwiek sposób pomocny, ponieważ raczej się znam na Matlabie i C/C++ a nie na flashu, ale chętnie się przyłączę do projektu.
Pozdrawiam
Jordan
jestem na tym forum od ok. 2-ch tygodni, ponieważ od miesiąca dopiero pracuję w miejscu, gdzie potrzebne mi jest labview bardzo. Ten interaktywny podgląd to jest pierwsza rzecz o której pomyślałem, że byłaby przydatna. vugie, bardzo fajne jest to co pokazałeś - tak trzymać.
Pomysł
z wyświetlaniem labelek jak bardzo fajny, chociaż chętniej bym widział coś w rodzaju <Ctrl+H>. To pewnie dlatego, że jeszcze nie przegryzłem LV na wylot - ale to kwestia czasu. Nie wiem czy mogę być w jakikolwiek sposób pomocny, ponieważ raczej się znam na Matlabie i C/C++ a nie na flashu, ale chętnie się przyłączę do projektu.
Pozdrawiam
Jordan
Re: Interaktywny podgląd VI
Jestem pod wrażeniem. Dobrze bylo by to jednak sprawdzić dla 'wiekszych' diagramow nawet takich z którymi tańcują zwierzeta ;)
Co do pomocy kontekstowej <Ctrl+H>:
National Instruments udostępnia pomoc on-line do funkcji LabVIEW: na przykład dla Call By Reference Node LAVA ma mechanizm wyświetlania stron snap shots
Czy mozna to połączyć?
Co do pomocy kontekstowej <Ctrl+H>:
National Instruments udostępnia pomoc on-line do funkcji LabVIEW: na przykład dla Call By Reference Node LAVA ma mechanizm wyświetlania stron snap shots
Czy mozna to połączyć?
-
- Posty: 383
- Rejestracja: 17 lis 2006 00:00
- Wersja środowiska: LabVIEW 2009
- Lokalizacja: Warszawa
Re: Interaktywny podgląd VI
Prace się posuwają, ostatnie efekty mozna obejrzeć tutaj.
Od poprzedniego przykładu różni się tym, że został wygenerowany automatycznie. Jak widać jest jescze sporo niedostatków...
Bogdani, da się zrobić, żeby to działało:
[flash width=754 height=337]http://vugie.republika.pl/mult2.swf[/flash]
(wygenerowane przy użyciu guziczka do wstawiania flasha w oknie edycji postu)
Od poprzedniego przykładu różni się tym, że został wygenerowany automatycznie. Jak widać jest jescze sporo niedostatków...
Bogdani, da się zrobić, żeby to działało:
[flash width=754 height=337]http://vugie.republika.pl/mult2.swf[/flash]
(wygenerowane przy użyciu guziczka do wstawiania flasha w oknie edycji postu)
-
- Administrator
- Posty: 1315
- Rejestracja: 30 lip 2003 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Ruda Śląska
- Kontakt:
Interaktywny podgląd VI
vugie jak zmniejszysz rozmiary to się flashka pokazuje (600 x 337)
[flash width=600 height=337]http://vugie.republika.pl/mult2.swf[/flash]
PS. Próbuje znaleźć przyczynę lub ograniczenie
[flash width=600 height=337]http://vugie.republika.pl/mult2.swf[/flash]
PS. Próbuje znaleźć przyczynę lub ograniczenie
-
- Administrator
- Posty: 1315
- Rejestracja: 30 lip 2003 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Ruda Śląska
- Kontakt:
Interaktywny podgląd VI
W związku z nowym modułem do projektów dobrze byłoby określić zadania (związane z funkcjonalnością) które należy wykonać w tym projekcie.
Wtedy pozakładam takie zadania i będzie sprawa się rozwijać w określonym kierunku i będzie można śledzić postępy.
bogdani
Wtedy pozakładam takie zadania i będzie sprawa się rozwijać w określonym kierunku i będzie można śledzić postępy.
bogdani