Strona 1 z 3
prosze o pomoc
: 09 cze 2006 10:57
autor: fenix
Witam wszystkich,
bardzo prosze o pomoc. zrobilem aplikacje ktora wysyla przez rs wartosci liczbowe poprzez wcisniecie enter lub przy zmiane pozycji pokretla lub poprzez nacisniecie przycisku. wszystko jest niby dobrze ale problem jest taki ze podczas wpisywania wartosci w okienku wysylane sa niepotrzebne dane a chcialbym wyslac konkretna wartosc a po wcisnieciu enter wysylana jest takze dana ktora byla wczesniej. mozxe ma ktos pomysl jak to zmienic bo siedze nad tym dluzszy czas i nie mogle dalej ruszyc. aplikacje zminimalizowalem do minimum aby przedstawic tylko ten problem. posiadam labview 7.1.
Re: prosze o pomoc
: 09 cze 2006 11:48
autor: Mikrobi
Sugeruję troche inne rozwiązanie. Zasadniczo wątek komunikacyjny i wątek interfejsu (pętla while + str. event) powinny pracować oddzielnie. Referencji jak już wspominałem nie powinieneś zamykać wewnątrz pętli tylko po wyjśćiu z niej.
Struktura dla takiej aplikacji jaką bym zaproponował to:
struktura event obsługuje dwa inne zdarzenia:
Jeśli przycisk 'Wyslij' i jego zmienna lokalna mają wartość FALSE przepuszczasz tylko referencję komunikacji (VISA) i błędu. Daj znać czy pomogło.
Re: prosze o pomoc
: 09 cze 2006 12:58
autor: fenix
niestety nie zmienia sie pod wplywem pokretla ani po nacisnieciu entera
(
Re: prosze o pomoc
: 09 cze 2006 13:44
autor: Mikrobi
Proponuje zatem (jeśli musi być enter) PKM na klawiszu 'Wyśli' >> Advanced >> Key Navigation >> i ustawić <Enter>.
DZCP ;)
Wysyłanie przy zmianie tylko wartośći pokrętła to nie jest dobry pomysł. :]
Re: prosze o pomoc
: 09 cze 2006 14:03
autor: jogurt_owocowy
A co znaczy DZCP? :roll:
W załączniku przykładzik jak za pomocą eventów Mouse Down i Mouse Up oraz Property Node -> Value(Signaling) zrobić "własny" event wyłapujący tylko końcową wartość pokrętła.
Re: prosze o pomoc
: 09 cze 2006 15:03
autor: wino
nie pisze, żęby się wymądrzać tylko, żeby kitu ludziom nie wciskać.
Jogurt zamieściłeś ten program i mam pytanie:
Po co obsługujesz zdarzenie Mouse Down, w zupełności wystarczy Mouse UP!!
Re: prosze o pomoc
: 09 cze 2006 16:10
autor: jogurt_owocowy
Ano po to, że skoro ma to być substytut "Knob": Value Change to chcę, żeby ten event działał wtedy gdy klikam myszą zmieniając coś przy Knobie, a nie przy każdym kliknięciu. Zobacz jak się zmienia ten licznik eventów w jednym, a jak w drugim programie powyżej.
Nawiasem mówiąc nawet wprowadzenie "Knob": Mouse Down nie zapobiega wywołaniu eventu bez zmiany wartości, bo kliknięcie np. na skali kontrolki, albo na wgłębieniu dokoła pokrętła nie zmienia wartości, a go wywołuje.
Re: prosze o pomoc
: 09 cze 2006 17:32
autor: Mikrobi
jogurt_owocowy pisze:A co znaczy DZCP? :roll:
Daj Znać Czy Pomogło
Re: prosze o pomoc
: 12 cze 2006 08:07
autor: fenix
Mikrobi - pomoglo
a tak z ciekawosci zapytam, dlaczego watek komunikacyjny i interfejsu powinny pracowac odzielnie? jezeli beda w jednej petli to moga wystapic jakies problemy?
pozdrawiam
Re: prosze o pomoc
: 13 cze 2006 10:03
autor: fenix
Mikrobi mam pytanie. zrobilem tak jak sugerowales interfejs i komunikacja jest w dwoch petlach, wszystko dziala dobrze jak wysylam ale teraz jak dostaje odpowiedz z drugiego urzadzenia to nie moge przechwycic danych w drugiej petli tam gdzie jest interfejs. W petli gdzie jest komunikacja przechwytuje dane bez problemu (ale nie po to sa te dwie petle aby przeprowadzac tam analize danych) nie udaje mi sie je przekazac bezposrednio do drugiej (przesylane sa dopiero po ponownym uruchomieniu programu). jak to zrobic ??
pozdrawiam
Re: prosze o pomoc
: 13 cze 2006 10:10
autor: bogdani
Witaj
Możesz do przekazywania danych między pętlami użyć Local Variable.
bogdani
Re: prosze o pomoc
: 13 cze 2006 10:19
autor: fenix
Witam,
uzywam, ale to nic nie daje w tym przypadku, przekazuja sie dane ale dopiero po ponownym uruchomieniu programu, a ja chce zeby byly przekazywane bezposrednio
Re: prosze o pomoc
: 13 cze 2006 10:30
autor: jogurt_owocowy
To nie wina zmiennych tylko złego programu. Dobrze byłoby gdybyś go pokazał.
Re: prosze o pomoc
: 13 cze 2006 10:51
autor: fenix
juz pokazuje, troche go okroilem bo sklada sie takze z innych podprogramow i przez to troche zajmuje, wiec przedstawiam w nim tylko watek odczytu danych. w taki sposob jak mam nie moge nic przechwycic ani przekazac do drugiej petli
Re: prosze o pomoc
: 13 cze 2006 12:36
autor: Mikrobi
Posprzaj diagram, powinien sie zmieścić na ekranie 1024x768, czyli mieć zasadniczo wymiar koło 900x600 pikseli