Strona 3 z 3

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

: 30 kwie 2006 17:14
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"?!

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

: 30 kwie 2006 21:07
autor: Mikrobi
W LabVIEW8 jest funkcjonalność bardzo do tego zbliżona - shared variables

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

: 30 kwie 2006 21:50
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.

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

: 01 maja 2006 00:34
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ć.

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

: 01 maja 2006 21:42
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. ;)

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

: 02 maja 2006 00:16
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