Witam wszystkich.
Piszę program w do zbierania danych z karty NI USB 6008.
Algorytm wygląda następująco.
1. Oczekiwanie na start pomiaru (zbocze wstępujące na wejściu 1).
2. Pomiar nr 1 napięcia z wejścia analogowego przez czas kiedy na wejściu 1 mamy logiczne 1(zbocze zstępujące oznaczenia przejście do punktu 3),
3. Analiza odebranych danych i wysterowanie wyjść,
4. Pomiar nr 2 (punkty analogiczne do 3 i 4),
5. Pomiar nr 3 jak wyżej
6. Powrót do punktu 1.
7. Stop jeżeli został wciśnięty przycisk "stop".
Warunek dodatkowy pojawienie się sygnału na wejściu 2 zatrzymuje którykolwiek pomiar, wysterowuje wyjście i powoduje powrót do punktu 1 algorytmu.
Postanowiłem wykonać program używając maszyny stanów. Mam jednak problem z zaimplementowaniem warunku dodatkowego. Tzn. nie wiem jak w będąc w stanie 2, 4 lub 5 (pomiar), zatrzymać pętlę odpowiednimi stanami wejść while (w niej odbywa się zbieranie napięcia).
Dołączyłem przykładowy VI (bez zbierania danych, samą maszynę stanów).
Maszyna stanów a pętla while
- zaz
- Posty: 12
- Rejestracja: 01 paź 2009 15:02
- Wersja środowiska: LabVIEW 2013
- Lokalizacja: Wałbrzych
- Kontakt:
Maszyna stanów a pętla while
Certified LabVIEW Developer
http://www.araval.pl
http://www.araval.pl
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Maszyna stanów a pętla while
Nie da się w ten sposób.Tzn. nie wiem jak w będąc w stanie 2, 4 lub 5 (pomiar), zatrzymać pętlę odpowiednimi stanami wejść while
Pętle (tak jak i inne struktury) działają w ten sposób, że dostają dane na tunele wejściowe, wykonuje się kod w ich wnętrzu po czym dane pojawiają się na ich tunelach wyjściowych.
Jeśli chcesz z zewnątrz pętli przekazać dane do wewnątrz, musisz to zrobić inaczej np. poprzez zmienną lokalną (Local Variable).
Nie do końca jasno napisałeś...
pojawienie się sygnału na wejściu 2 zatrzymuje którykolwiek pomiar
A więc warunek dodatkowy zatrzymujący pomiar pochodzi z wejścia nr 2 czy z wejścia pętli while?nie wiem jak (...) zatrzymać pętlę odpowiednimi stanami wejść while
PS. Zapisz zamieszczonego VIaja do niższej wersji LV. Nie wiem jak wyglądają forumowe statystyki, ale chyba ciągle mniej, niż więcej ludzi korzysta z LV 2009.
Ostatnio zmieniony 10 paź 2009 02:15 przez jogurt_owocowy, łącznie zmieniany 1 raz.