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