Nieaktywny przycisk stop

Jeśli masz coś do powiedzenia w sprawie LabVIEW napisz. Tutaj są tematy, których nie można uściślić do innych działów.
piotrek21n
Posty: 6
Rejestracja: 15 kwie 2018 14:43
Wersja środowiska: LabVIEW 2017

Nieaktywny przycisk stop

Post autor: piotrek21n » 19 kwie 2018 11:23

Cześć, dlaczego nie mogę zatrzymać pętli while przyciskiem Exit? Dodam, że jest całkowicie nieaktywny, nie reaguje w czasie trwania programu..
labview3.JPG

apb
Posty: 14
Rejestracja: 20 lis 2017 11:59
Wersja środowiska: LabVIEW 2017

Re: Nieaktywny przycisk stop

Post autor: apb » 19 kwie 2018 12:34

Kolejne iteracji pętli while są uruchamiane po wywołaniu eventu. Użyj "żarówki" i zobacz jak wygląda u Ciebie przepływ danych. Wartość "exit" jest wczytywana na początku danej iteracji, późniejsze wciśnięcie przycisku nie powoduje już żadnej akcji. Nawet gdybyś "trwale"zmienił wartość "exit", wyjście nastąpiłoby dopiero w kolejnej iteracji.

Zobacz np. jak tutaj:
https://www.youtube.com/watch?v=RuIN31rSO2k
zorganizowana jest event state machine.

piotrek21n
Posty: 6
Rejestracja: 15 kwie 2018 14:43
Wersja środowiska: LabVIEW 2017

Re: Nieaktywny przycisk stop

Post autor: piotrek21n » 19 kwie 2018 12:52

Ahaa.. już rozumiem, dzięki! :)

piotrek21n
Posty: 6
Rejestracja: 15 kwie 2018 14:43
Wersja środowiska: LabVIEW 2017

Re: Nieaktywny przycisk stop

Post autor: piotrek21n » 19 kwie 2018 13:34

A jednak problem nie ustał po usunięciu pętli event. Teraz przycisk jest sprawdzany co iterację, mimo wszystko pozostaje nieaktywny :/
labview4.JPG

piotrek21n
Posty: 6
Rejestracja: 15 kwie 2018 14:43
Wersja środowiska: LabVIEW 2017

Re: Nieaktywny przycisk stop

Post autor: piotrek21n » 19 kwie 2018 13:44

Ok, już działa, wystarczyło przycisk zamienić na tradycyjny 'stop'.

Paw Saw
Posty: 37
Rejestracja: 12 maja 2016 16:02
Wersja środowiska: LabVIEW 2015

Re: Nieaktywny przycisk stop

Post autor: Paw Saw » 19 kwie 2018 15:14

Problemem nie było to, że stop nie był "tradycyjny", tylko to, że zmienna lokalna wykorzystywana do zamknięcia pętli przepisywała wartość z przycisku Exit. Stan tego przycisku (jak i całej reszty znajdującej się poza pętlą while) aktualizuje się tylko 1 raz, w związku z tym nie było możliwości zamknięcia pętli korzystając z tego przycisku, chyba że ustawiłbyś mu stan True przed włączeniem programu, ale wtedy wykonałaby się tylko jedna iteracja.
Obrazek

ODPOWIEDZ