Strona 1 z 1
Wymiana danych pomiędzy dwona PC.
: 29 lis 2010 03:13
autor: krzysiek.vcda
Witam serdecznie,
od razu na wstępie chciałbym zaznaczyć, że jestem nowicjuszem jeżeli chodzi o LabVIEW jednakże szybko się uczę, więc proszę o wyrozumiałość w miarę możliwości. Do wykonania mam następujące zadanie, mamy dwa komputery jeden na hali, gdzie jest podpięty do urządzeń pomiarowych, a drugi PC stoi w "pokoju kontrolnym", wszystko spięte razem siecią LAN. Zadanie polega teraz na odczytaniu danych pomiarowych z urządzeń oraz poprzez sieć przesłanie ich do drugiego komputera, gdzie zostaną zwizualizowane na panelu sterowniczym. Teraz Panowie moja wielka do Was prośba jak ugryźć w/w temat? Tj. jakich komponentów szukać, gdzie szukać i jak podejść do sprawy? Będę wdzięczny za wszelkie sample/informacje/wskazówki itd.
Pozdrawiam serdecznie i z góry dziękuję za każdą wskazówkę,
Krzysiek
Wymiana danych pomiędzy dwona PC.
: 29 lis 2010 05:49
autor: bogdani
Jest kilka opcji. Jeśli chcesz mieć widok taki sam na komputerze pomiarowym to możesz użyć tools >> Web Publishing Tool, żeby zrobić zdalny panel dostępny przez www - kilka kliknięć kreatora i gotowe.
Druga opcja to w aplikacji pomiarowej zapisujesz pomiary do Shared Variable - Network Published, i wtedy możesz spokojnie odebrać je w innej aplikacji.
Korzystasz z tego jak ze zwykłej zmiennej. Czyli w drugiej aplikacji na drugim PC, po prostu odczytujesz te same zmienne (warstwa sieciowa ciebie nie interesuje - załatwia to środowisko).
Masz słowa kluczowe, bez problemu znajdziesz do tego przykłady i opisy na ni.com.
Możesz podać ile danych będziesz chciał przesłać i w jakim czasie - tak kontrolnie czy podane mechanizmy się do tego nadają.
Re: Wymiana danych pomiędzy dwona PC.
: 29 lis 2010 19:23
autor: krzysiek.vcda
@bogdani
Dziękuję bardzo za odpowiedź. Dane jakie będą wymieniane wymienię na poniższym schemacie.
Dane wysyłane z PC Kontrolującego do PC wykonującego pomiary:
1. Dane typu: wykonaj pomiar, ustaw przyrząd z innymi parametrami itd.
Dane wysyłane z PC wykonującego pomiary do PC Kontrolującego:
1. Odczytane dane z przyrządów pomiarowych, ewentualne błędy jeżeli wystąpiły problemy z wykonaniem pomiaru.
Pomiary będą wykonywane z okresem ok 3-4s jak wynika z moich dotychczasowych obliczeń. Dane, które będą wysyłane to: 10xpomiar temperatury, oraz ok 10xpomiar napięcia + 5xpomiar prądu + pomiar kanałów I/0.
Czy opcja ze zmiennymi sieciowymi tutaj się nada?
Pozdrawiam serdecznie i dziękuję za odpowiedzi,
Krzysiek
Wymiana danych pomiędzy dwona PC.
: 29 lis 2010 22:22
autor: bogdani
Oczywiście że się nada.
Zbuduj sobie cluster z typami danych które potrzebujesz, czyli:
1 tablica DBL temperatura
1 tablica DBL napiecie
1 tablica DBL prad
1 tablica Boolean kanały I/O
Ten klaster zapisz jako Type Def., następnie z niego utwórz zmienną sieciową i już możesz przesyłać dane miedzy aplikacjami.
Co do sterowania to utwórz sobie Type Def z kontrolką typu Enum, która zawierać będzie pozycje sterowania. Potem zrób z tego zmienną sieciową, tak jak poprzednio typu Shared Variable.
Specjalnie w niektórych miejscach użyłem oryginalnego słownictwa, abyś mógł sobie poszukać jak to zrobić lub znaleźć przykłady takich rozwiązań - nie może być za łatwo

Wymiana danych pomiędzy dwona PC.
: 10 gru 2010 01:13
autor: krzysiek.vcda
Mógłbym prosić o jakieś szczegóły dotyczące używania Shared Variables oraz Network Shared Variables? Zdołałem się dowiedzieć najpierw, że takie coś istnieje, jednak teraz mam problem ze znalezieniem przykładów :-/
Pozdrawiam Krzysiek
Re: Wymiana danych pomiędzy dwona PC.
: 10 gru 2010 01:22
autor: Labqu
Re: Wymiana danych pomiędzy dwona PC.
: 11 gru 2010 15:53
autor: krzysiek.vcda
Witam,
udało mi się uruchomić network shared variable pomiędzy dwoma VI na jednym komputerze. Moje pytanie brzmi teraz czy jeżeli uruchomię te same dwa VI na różnych komputerach w sieci lokalnej to czy one dalej będą się ze sobą komunikowały?
Pozdrawiam,
Krzysiek
Re: Wymiana danych pomiędzy dwona PC.
: 14 gru 2010 00:16
autor: bogdani
Jak uruchomisz te same VIje, to musisz pamiętać, że jak jeden nadaje, to drugi powinien to odebrać, bo inaczej to nie ma sensu.
Może pokaż co zrobiłeś.
Re: Wymiana danych pomiędzy dwona PC.
: 17 gru 2010 00:18
autor: krzysiek.vcda
@bogdani
W załączniku przesyłam projekt. Znajdują się z nim trzy shared network variable. Gdy uruchomię Klient.vi, oraz Serwer.vi na tym samym komputerze to oba VIje się komunikują. Jednak gdy jeden VI zostanie uruchomiony na jednym komputerze, a drugi VI na drugim komputerze to wtedy one się ze sobą już nie komunikują. W czym tkwi problem? Czy VIje się nie "widzą"?
Pozdrawiam,
Krzysiek
Re: Wymiana danych pomiędzy dwona PC.
: 19 gru 2010 23:09
autor: bogdani
Już tłumaczę, problem tkwi, że w projekcie masz bibliotekę ze zmiennymi (z uruchomionym serwerem zmiennych) na komputerze lokalnym.
Jeśli obydwa VIje pracują na tym samym komputerze sprawa jest oczywista, każdy z nich komunikuje się z właściwym serwerem zmiennych.
Jeśli VI, który np. czyta jest na innym komputerze, to program musi się dowiedzieć gdzie są dane, czyli jak nazywa się zmienna i gdzie jest serwer z tą zmienna.
Najprościej ci to wytłumaczę podając linki do przykładu (liczyłem że sam znajdziesz):
How to Use Shared Variables and DataSockets to Pass Data Between Two Networked PCs
Pomocne w zrozumieniu tematu i rozszerzeniu wiedzy będą również:
How Do I Read/Write to a Shared Variable with the DataSocket API?
Sharing Live Data Programmatically
Distributed Applications in LabVIEW