Web Server inaczej... prośba o pomoc??

Jeśli masz coś do powiedzenia w sprawie LabVIEW napisz. Tutaj są tematy, których nie można uściślić do innych działów.
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Web Server inaczej... prośba o pomoc??

Post autor: jogurt_owocowy »

Tak mi przyszło do głowy, że w ostateczności można by wykorzystać istniejące na razie "w podziemiu" LabView skryptowe, a więc "viaje tworzące viaje":]
Na razie wyobrażam to sobie tak, że klient po swojej stronie "zbudowałby sobie" tymczasowego viaja zawierającego tylko panel programu sterowanego (zdalnego). "Tylko panel" znaczy, że na diagramie znajdowałyby się tylko kontrolki w pętli while bez ani kawałka programu. Taka atrapa.vi byłaby odpalana, w kliencie byłyby wyłuskiwane kontrolki atrapy, a ich wartości byłyby wykorzystane do ustawienia wartości "prawdziwych" kontrolek po stronie zdalnej. Oczywiście klient musiałby też ustawiać odpowiednio wyświetlacze atrapy :)
Nie wiem na razie jakie są możliwości realizacji tego(szczególnie w LV 6.1), ale pracuję nad tym.
A tymczasem może wypowie się ktoś bardziej obeznany ze "skryptowaniem"?!
Ostatnio zmieniony 31 paź 2009 23:33 przez jogurt_owocowy, łącznie zmieniany 1 raz.
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

Re: Web Server inaczej... prośba o pomoc??

Post autor: Mikrobi »

W LabVIEW8 jest funkcjonalność bardzo do tego zbliżona - shared variables
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Web Server inaczej... prośba o pomoc??

Post autor: jogurt_owocowy »

Możliwe, tylko gdyby autor wątku miał LV 8 to pewno by go nie było (wątku-nie autora ;) )

Ale nastała światłość:)
Nie jest łatwo, ale da się zrobić taki wirtualny panel wykorzystując tajemniczy LV Scripting. Przy okazji chyba też pobijam rekord szerokości gifa umieszczonego na forum-proszę o wybaczenie:]
Ale najpierw dla mniej tajemniczonych link wtajemniczający w te fascynujące, nieudokumentowane możliwości LV
http://forums.lavag.org/index.php?showforum=29

Program z obrazka działa następująco:
Otwieramy referencję do zdalnego viaja(np. input.gif), bierzemy tablicę referencji wszystkich obiektów na panelu za pomocą własności AllObjs[] i kopiujemy wszystkie obiekty do nowoutworzonego viaja(ten dziwny klocek, którego normalnie nie ma na palecie-patrz powyższy link-to New VI). Dzięki temu mamy nawet ewentualne elementy dekoracyjne występujące na zdalnym panelu. Teraz "przechodzimy" z pomocą Property Node-Diagram na jego... diagram i bierzemy referencje wszystkich obiektów(czyli tylko kontrolek i wyświetlaczy) węzłem BDiag-AllObjs[]. Za nim występuje taki mały potwór-jest to wstawienie na diagram nowoutworzonego viaja pętli while ze stałą FALSE podpiętą do terminala stopu(takie cuda można robić). I znów nowy, egzotyczny bloczek-New VI Object.
W pętli for wszystkie kontrolki z diagramu atrapy są przenoszone w obszar utworzonej pętli while, zapisujemy podróbkę (Save Instrument) i gotowe. Podróbka(output.gif) ma dokładnie taki sam panel jak zdalny vi, ale inny diagram.
Dysponujemy teraz referencją do zdalnego viaja, którym chcemy sterować i lokalną wierną kopią jego panelu.
Uruchamiamy teraz za pomocą Invoke Node viaja zdalnego, następnie uruchamiamy naszą atrapę. Teraz pozostaje pobrać wartości kontrolek zdalnego viaja, wpisać do atrapy, a następnie... pobrać wartości kontrolek atrapy i wpisać do viaja zdalnego i tak na zmianę, dla zapewnienia komunikacji w obie strony. Powinno to wszystko działać dobrze.
Ostatnio zmieniony 31 paź 2009 23:33 przez jogurt_owocowy, łącznie zmieniany 9 razy.
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Web Server inaczej... prośba o pomoc??

Post autor: jogurt_owocowy »

PS. Plik z załącznika jest zapisany w wersji 7.0. Poproś, krakers, jakiegoś dobrego człowieka to Ci może zapisze do 6.1. Podobno wino świadczy takie usługi;) Chociaż nie dam głowy, że pod 6.1 to będzie działać.
Awatar użytkownika
krakers22
Posty: 29
Rejestracja: 10 mar 2006 00:00

Re: Web Server inaczej... prośba o pomoc??

Post autor: krakers22 »

No no ładnie. :D
Pewnie tak by było łatwiej, żeby ktoś mi to zapisał do 6.1, ale jednak spróbuję najpierw sam. Wtedy będę wiedział dokładnie o co w tym chodzi. :) Jednak najpierw musze dodać te ikony do Application Control. Nie wiem dlaczego, ale zainsalowałem OpenG i zainstalowałem również ten dodatek "ogmnu_appcontrol_plus", a ikonek jak nie było tak nie ma. Muszę zrobić coś jeszcze? A i dodałem w pliku .ini te dwa wiersze i też nic. :(

PS. A za tego VI-ja szacuneczek Jogurcie_owocowy. ;)
Pozdrawiam.
Krakers
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Web Server inaczej... prośba o pomoc??

Post autor: jogurt_owocowy »

Dla uzyskania na palecie dostępu do tych dodatkowych funkcji trzeba :
1. Zainstalować ogrsc_dynamicpalette
2. W LV7.1 kliknąć Tools -> Advanced -> Edit Palette Views i ustawić Dynamic Palette View. W 6.1 pewno będzie podobnie.

Sterowanie zdalną aplikacją za pomocą takiego podrobionego panelu działa, ale jest problem z kontrolkami Boolean z akcją mechaniczną ustawioną na Latch i z wyświetlaniem Chart'ów. Ale to już w następnym odcinku ;)
Tymczasem miłej zabawy z nowymi klockami:)

Pozdrawiam
ODPOWIEDZ