Sterowanie przyrządami z interfejsem GPIB przez sieć Interne
Re: Sterowanie przyrządami z interfejsem GPIB przez sieć I
Dzień dobry
DZCP - TPITB
Najprawdopodobniej @Mikrobi uratował mi Pan 4 litery
Dwa dni siedziałem nad zakichanym DataSocket, przykład który
był w powyższym załączniku tez nie zadziałał więc dla jaj
odpaliłem przykład z TCP/IP i ruszył bezproblemowo.
Oleje więc DataSocket i przejde na TCP/IP ponieważ prowadzacy
nie określił w oparciu o co ma to działać.
Myślałem, że DS jest najprostsze (zresztą w załączonej prezentacji też tak twierdzą) dlatego tak sie na to uparłem, ale jak widać nie potrzebnie
Jeżeli jednak ma ktos pomysl na to dlaczego nie moge sobie poradzić z DS to chetnie wysłucham każdej konstruktywnej uwagi.
Może wymaga to zainstalowania LabVIEW na obu kompach?(albo jakiegoś składnika LabVIEW)
Ja mam LabVIEW zainstalowane tylko na jednym a na drugi tworze instalera.
Jeżeli chodzi o komunikacje z przyrzadami przez GPIB (w moim przypadku przejściówka GPIB/USB) to problemy sa jezeli korzystamy z sprzetu konkurencyjnych firm do NI np. Agilent (problemy może nie sa tak wielkie ale trzeba włączyć jedna z bibliotek, ktora nie wiadomo czemu standardowo jest wyłączona - informacje ta uzyskalem dzieki Panom z forum NI(biblioteka ta ma w swojej nazwie Tulip czy cos takiego jezeli ktoś by potrzebował dokładnej nazwy to poszukam))
Jeszcze raz bardzo dziękuję wszystkim którzy mi pomogli ,
znając życie do dopiero początek problemów więc prosiłbym o nie zamykanie tego tematu
pozdrawiam
P.S
Podsumowując te dwa tygodnie pracy z LabVIEW to szczerze mowiąc na początku przekleństwa się sypały (oczywiście większość czyt. wszystkie była spowodowana moją niewiedzą , musze jednak przyznać, że coraz bardziej przekonuje się do tego środowiska.
DZCP - TPITB
Najprawdopodobniej @Mikrobi uratował mi Pan 4 litery
Dwa dni siedziałem nad zakichanym DataSocket, przykład który
był w powyższym załączniku tez nie zadziałał więc dla jaj
odpaliłem przykład z TCP/IP i ruszył bezproblemowo.
Oleje więc DataSocket i przejde na TCP/IP ponieważ prowadzacy
nie określił w oparciu o co ma to działać.
Myślałem, że DS jest najprostsze (zresztą w załączonej prezentacji też tak twierdzą) dlatego tak sie na to uparłem, ale jak widać nie potrzebnie
Jeżeli jednak ma ktos pomysl na to dlaczego nie moge sobie poradzić z DS to chetnie wysłucham każdej konstruktywnej uwagi.
Może wymaga to zainstalowania LabVIEW na obu kompach?(albo jakiegoś składnika LabVIEW)
Ja mam LabVIEW zainstalowane tylko na jednym a na drugi tworze instalera.
Jeżeli chodzi o komunikacje z przyrzadami przez GPIB (w moim przypadku przejściówka GPIB/USB) to problemy sa jezeli korzystamy z sprzetu konkurencyjnych firm do NI np. Agilent (problemy może nie sa tak wielkie ale trzeba włączyć jedna z bibliotek, ktora nie wiadomo czemu standardowo jest wyłączona - informacje ta uzyskalem dzieki Panom z forum NI(biblioteka ta ma w swojej nazwie Tulip czy cos takiego jezeli ktoś by potrzebował dokładnej nazwy to poszukam))
Jeszcze raz bardzo dziękuję wszystkim którzy mi pomogli ,
znając życie do dopiero początek problemów więc prosiłbym o nie zamykanie tego tematu
pozdrawiam
P.S
Podsumowując te dwa tygodnie pracy z LabVIEW to szczerze mowiąc na początku przekleństwa się sypały (oczywiście większość czyt. wszystkie była spowodowana moją niewiedzą , musze jednak przyznać, że coraz bardziej przekonuje się do tego środowiska.
Re: Sterowanie przyrządami z interfejsem GPIB przez sieć Interne
Kilka uwag odnośnie Data Socket:
1. serwer na początku sprawdza połaczenia które może wykonać, przypomina to trochę negocjację optymalnego połączenia
2. wynikiem tego pierwsze nawiązanie komunikacji potrafi trwać nawet 10 sekund, potem pracuje to już naprawdę popisowo - łatwo, czysto i przyjemnie.
3. Istotna jest konfiguracja serwera obsługiwana przez program Data Socket Manager.
1. serwer na początku sprawdza połaczenia które może wykonać, przypomina to trochę negocjację optymalnego połączenia
2. wynikiem tego pierwsze nawiązanie komunikacji potrafi trwać nawet 10 sekund, potem pracuje to już naprawdę popisowo - łatwo, czysto i przyjemnie.
3. Istotna jest konfiguracja serwera obsługiwana przez program Data Socket Manager.
Re: Sterowanie przyrządami z interfejsem GPIB przez sieć I
W DataSocket Server Manager zmieniłem w całym kluczu
Permission Groups na "everyhost" (bo juz sie bardzo zdenerwowałem ), niestety nie pomogło.
Permission Groups na "everyhost" (bo juz sie bardzo zdenerwowałem ), niestety nie pomogło.
Re: Sterowanie przyrządami z interfejsem GPIB przez sieć I
Dzień dobry
No i oczywiście kolejne problemy się pojawiły:) Klient Server Stworzyłem sobie dwa programy pokazane częściowo na powyższych rysunkach. Jak można zauważyć chciałbym za pomocą programu clienta sterować kilkoma zmiennymi w programie server. O ile problemu nie miałem ze sterowaniem amplitudą i cestotliwością, to niestety problem mam z wyborem rodzaju sygnału (sin, cos itd) i ze zmienną odpowiedzialną za wysyłanie tekstu (dane do wysłania). Czy ktoś mógłby mi pomóc? Za odpowiedzi z góry dziękuję i pozdrawiam
No i oczywiście kolejne problemy się pojawiły:) Klient Server Stworzyłem sobie dwa programy pokazane częściowo na powyższych rysunkach. Jak można zauważyć chciałbym za pomocą programu clienta sterować kilkoma zmiennymi w programie server. O ile problemu nie miałem ze sterowaniem amplitudą i cestotliwością, to niestety problem mam z wyborem rodzaju sygnału (sin, cos itd) i ze zmienną odpowiedzialną za wysyłanie tekstu (dane do wysłania). Czy ktoś mógłby mi pomóc? Za odpowiedzi z góry dziękuję i pozdrawiam
Re: Sterowanie przyrządami z interfejsem GPIB przez sieć Interne
Wiesz thorze dobrą praktyką na początku jest modyfikowanie istniejących w środowisku przykładów.
Re: Sterowanie przyrządami z interfejsem GPIB przez sieć I
Dzień dobry Znowu muszę Państwu pozawracać gitare. Z czego najlepiej skorzystać, jeżeli chce, żeby wykonywany był fragment programu gdy zostanie naciśniety przycisk (BOOL). W moim przypadku chodzi o to, że gdy nacisne sobie przycisk w programie klienta, to w programie server ma zostać wykonany fragment programu odpowiedzialny za nastawy generatora i odczyt z miernika. Ja rozwiązałem to tak jak na poniższym rys. z tym że, nie wiem czy to optymalne rozwiązanie.
Problem miałem z Casem FALSE. Na początku wogóle go usunołem gdyż w gruncie rzeczy nie jest mi potrzebny. Jednak LabVIEW zaczoł się pluć, więc tam gdzie trzeba wstawiłem localne variable. Niby wszystko chodzi ale chciałbym się upewnić Za pomoc z góry dziękuję i pozdrawiam
Problem miałem z Casem FALSE. Na początku wogóle go usunołem gdyż w gruncie rzeczy nie jest mi potrzebny. Jednak LabVIEW zaczoł się pluć, więc tam gdzie trzeba wstawiłem localne variable. Niby wszystko chodzi ale chciałbym się upewnić Za pomoc z góry dziękuję i pozdrawiam
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: Sterowanie przyrządami z interfejsem GPIB przez sieć I
Przemyśl może lepiej strukturę aplikacji. Co prawda na obrazkach pokazujesz tylko kawałki programu, ale widać, że kabli na nich coraz więcej i coraz bardziej zamotanych.
Co do Twojego pytania to chyba najlepiej byłoby to zrobić w taki sposób, że:
1. Program klienta reaguje eventem na zmianę wartości kontrolki, wysyłając odpowiednie polecenie do serwera
2. W programie serwera polecenie jest odbierane i na jego podstawie, jest sterowana część aplikacji odpowiedzialna za pomiar. A to w jaki sposób jest sterowana to już zależy od architektury programu.
Można stworzyć mechanizm "zdalnych eventów" oparty np. na węźle Property Node -> Value(Signaling). To mogłoby być fajne rozwiązanie - naciskasz przycisk w kliencie, a w serwerze generowany jest event w któym obsługiwany jest pomiar.
Inny pomysł: w serwerze w jednej pętli odbierane są z klienta polecenia dotyczące tego co serwer ma robić i wrzucane w kolejkę. W drugiej pętli kolejka jest opróżniana - jeśli coś w niej jest do zrobienia to program to wykonuje, jeśli nie - czeka.
Co do Twojego pytania to chyba najlepiej byłoby to zrobić w taki sposób, że:
1. Program klienta reaguje eventem na zmianę wartości kontrolki, wysyłając odpowiednie polecenie do serwera
2. W programie serwera polecenie jest odbierane i na jego podstawie, jest sterowana część aplikacji odpowiedzialna za pomiar. A to w jaki sposób jest sterowana to już zależy od architektury programu.
Można stworzyć mechanizm "zdalnych eventów" oparty np. na węźle Property Node -> Value(Signaling). To mogłoby być fajne rozwiązanie - naciskasz przycisk w kliencie, a w serwerze generowany jest event w któym obsługiwany jest pomiar.
Inny pomysł: w serwerze w jednej pętli odbierane są z klienta polecenia dotyczące tego co serwer ma robić i wrzucane w kolejkę. W drugiej pętli kolejka jest opróżniana - jeśli coś w niej jest do zrobienia to program to wykonuje, jeśli nie - czeka.
Re: Sterowanie przyrządami z interfejsem GPIB przez sieć I
Witam
@jogurt_owocowy dziękuje za pokazanie mi struktury "Event" naprawde bardzo się przydała:) to potężne "narzedzie".
Mój program teoretycznie jest już gotowy jednak należałoby jeszcze pomyśleć o zabzpieczeniach tzn. nie mam pojęcia co się stanie, gdy program klient zostanie uruchomiony na kilku komputerach, jeden z klientów będzie oczekiwał na wyniki pomiaru, a inny klient w tym czasie także naciśnie pomiar. Prościej mówiąc chodzi mi o taką blokadę, że gdy aplikacja servera jest w trakcie pomiaru to na Panelu klienta w momencie gdy będzie próbował dokonać pomiaru wyświetli się komunikat o zajętości sprzętu.
Gdybyście Panowie & Panie mieli jakieś pomysły to z góry dziękuje.
Mam nadzieje że za bardzo nie namieszałem i zajażycie o co mi chodzi:)
pozdrawiam
P.S co do struktury aplikacji to pokazuje tu różne programy (takie moje próby) gdyż jak już wcześniej pisałem to moj pierwszy kontakt z labview
@jogurt_owocowy dziękuje za pokazanie mi struktury "Event" naprawde bardzo się przydała:) to potężne "narzedzie".
Mój program teoretycznie jest już gotowy jednak należałoby jeszcze pomyśleć o zabzpieczeniach tzn. nie mam pojęcia co się stanie, gdy program klient zostanie uruchomiony na kilku komputerach, jeden z klientów będzie oczekiwał na wyniki pomiaru, a inny klient w tym czasie także naciśnie pomiar. Prościej mówiąc chodzi mi o taką blokadę, że gdy aplikacja servera jest w trakcie pomiaru to na Panelu klienta w momencie gdy będzie próbował dokonać pomiaru wyświetli się komunikat o zajętości sprzętu.
Gdybyście Panowie & Panie mieli jakieś pomysły to z góry dziękuje.
Mam nadzieje że za bardzo nie namieszałem i zajażycie o co mi chodzi:)
pozdrawiam
P.S co do struktury aplikacji to pokazuje tu różne programy (takie moje próby) gdyż jak już wcześniej pisałem to moj pierwszy kontakt z labview