case do tyłu...

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.
Kamyll0
Posty: 13
Rejestracja: 07 kwie 2011 22:06
Wersja środowiska: LabVIEW 8.5

case do tyłu...

Post autor: Kamyll0 »

Witam,
Panowie mam pytanie, czy można zrobić tak aby case generowało do tyłu?

Chodzi o to że mam case w pętli for, case wypuszcza na wyjścia stany binarne dla 4 portów (0,1,2,3), pod te porty jest podłączony silnik krokowy.
Jak case zmienia się rosnąco (0,1,2,3) to silnik pracuje w prawo. Chcę aby można było zmienić kierunek w lewo aby case zmieniało się w drugą stronę (3,2,1,0).

Przy czym aby case pamiętał poprzedni stan, jak np. ostatni stan będzie 3, dla pracy w prawo następny stan powinien być 4, a dla pracyw lewo 2...

Czy wiecie o co mi chodzi? Czy jest to możliwe do wykonania?
Dziękuję z góry za pomoc i pozdrawiam:)
Awatar użytkownika
darkon
Posty: 26
Rejestracja: 13 lut 2011 14:21
Wersja środowiska: Nie mam LabVIEW
Lokalizacja: Krk

case do tyłu...

Post autor: darkon »

Jeśli dobrze rozumiem, to co kolega chce zrobić to, po namyśle stwierdzam, maszyna stanów. Ale mogę się mylić :^o . Może wypowie się ktoś mądrzejszy ode mnie.
Aha. Pewnie że jest możliwe. Poszukaj w LabVIEW przykładów "State Machine"
Pomogłem?... pochwal mnie :)
PiDi
Posty: 641
Rejestracja: 31 gru 2010 01:36
Wersja środowiska: LabVIEW 2017
Lokalizacja: Katowice

Re: case do tyłu...

Post autor: PiDi »

Nie bardzo rozumiem co to znaczy, że case jest "generowany". Możesz pokazać ten kod?
ObrazekObrazekObrazekObrazek
NIKT
Posty: 26
Rejestracja: 16 mar 2011 19:34
Wersja środowiska: LabVIEW 2011

Re: case do tyłu...

Post autor: NIKT »

Tak jak zauważył Darkon maszyna stanów całkiem dobrze się tu sprawdza.
Załączniki
LewoPrawo.vi
(13.33 KiB) Pobrany 263 razy
Kamyll0
Posty: 13
Rejestracja: 07 kwie 2011 22:06
Wersja środowiska: LabVIEW 8.5

case do tyłu...

Post autor: Kamyll0 »

Kolega NIKT, właśnie o takie coś mi chodziło, miałem już case(maszyne stanów) ale działała troche inaczej i nie mogła chodzić do tyłu...

Mogę się spytać jak zrobiłeś że do case dochodzi kierunek i case wie że ma zliczać wstecz jak wybierzemy inny kierunek?

Chodzi mi jeszcze aby można było zadać określoną liczbę razy ile ma przejść stanów, bo to jest potrzebne do silnika krokowego, czyli jak np. przejdzie z 1 na 2 to wykona silnik jeden krok, a jak np. zrobić aby w pole tekstowe przy wartości poprzedniej np. 2, wpisać liczbę kroków np. 5, aby silnik wykonał kolejno pięć kroków(2->3->4->1->2->3).
Awatar użytkownika
darkon
Posty: 26
Rejestracja: 13 lut 2011 14:21
Wersja środowiska: Nie mam LabVIEW
Lokalizacja: Krk

case do tyłu...

Post autor: darkon »

Kamyll0 pisze:Mogę się spytać jak zrobiłeś że do case dochodzi kierunek i case wie że ma zliczać wstecz jak wybierzemy inny kierunek?
Struktura CASE nic nie zlicza. Ona, jak sama nazwa wskazuje reaguje na odpowiedni przypadek (case). W konkretnym przypadku , wykonuje konkretną akcję ( twój kod ). Troszkę mylisz pojęcia.
Pomogłem?... pochwal mnie :)
NIKT
Posty: 26
Rejestracja: 16 mar 2011 19:34
Wersja środowiska: LabVIEW 2011

Re: case do tyłu...

Post autor: NIKT »

"Chodzi mi jeszcze aby można było zadać określoną liczbę razy ile ma przejść stanów"
Nie wiem jaką masz aplikację ale może coś takiego Ci podsunie jakiś pomysł (patrz załącznik).

Pozdrawiam,
Załączniki
LewoPrawo.vi
Zmodyfikowany
(16.64 KiB) Pobrany 275 razy
Kamyll0
Posty: 13
Rejestracja: 07 kwie 2011 22:06
Wersja środowiska: LabVIEW 8.5

case do tyłu...

Post autor: Kamyll0 »

Pomocne jest to co zamieściłeś, myślę że na tej podstawie sobie poradze, tylko mam jeden problem...

Ważne jest dla mnie aby na wyjściu zamiast wartości: 1,2,3,4 były wartości 1,2,4,8 (tak mam adresowane porty w karcie pomiarowej którą sterowany ma być silnik).
Nie bardzo potrafię te wartości w case zmieniać, bo jak wpisuję "8" to podświetla się na czerwono i nie moge tego obejść...

Czy to poprzez ustawione Enum?
Nie spotkałem się wcześniej z tym "Enum", nie wiem jak zmieniać wartości aby można było dowolnie nazwać stany a co za tym idzie wartości wyjściowe, abym mógł otrzymywać na wyjściu maszyny stanów numery bitów ( 1,2,4,8,16,32,64,128).

Z góry bardzo Ci dziękuję za pomoc. Pozdrawiam.
Kamyll0
Posty: 13
Rejestracja: 07 kwie 2011 22:06
Wersja środowiska: LabVIEW 8.5

case do tyłu...

Post autor: Kamyll0 »

Już sobie poradziłem:)
Wystarczyło zajrzeć w Properties, eh o tej godzinie ciężko z główkowaniem:)

Bardzo Ci jeszcze raz dziękuję:)
Pozdrawiam:)
Kamyll0
Posty: 13
Rejestracja: 07 kwie 2011 22:06
Wersja środowiska: LabVIEW 8.5

Re: case do tyłu...

Post autor: Kamyll0 »

Witam, mam Panowie pewien problem,
w załączniku przesyłam program w którym steruje bitami karty pomiarowej, do niej są podpięte 2 silniki krokowe.
Wszystko działa na zasadzie że podaję ilość kroków które ma wysłać na silniki karta i po naciśnięciu buttona Start, stany na karcie zmieniają się tyle właśnie razy.
Wstawiłem diody aby zobrazować proces na 8 bitach, bo jak wiadomo nie posiadacie karty, więc usunąłem z programu bloki odpowiedzialne za karte, aby program ruszył...
diody obrazują bity od pierwszego(1) do ósmego(8). Pod bity 1,2,3,4 podpięty jest jeden silnik a pod 5,6,7,8 drugi.
Chodzi mi teraz o to aby po naciśnięciu startu program mógł sterować silnikami w ten sposób że np. w pierwszej kolejności rusza się silnik pierwszy o kilkanaście kroków, później jak się zatrzyma to drugi silnik wykona jeden krok, później pierwszy silnik wykona ponownie kilkanaście kroków ale w przeciwnym kierunku, później znowu drugi silnik wykona jeden krok.
Chodzi mi o to że te silniki sterują małymi sównicami od drukarek, jeden silnik osią x a rugi osią y.
Chodzi o to aby za jednym cyklem programu, pętli element na suwnicach złączonych prostopadle "przeskanował" całą powierzchnię prostotkąta x,y...
coś jakby drukarka chodziła że jedzie cały wiersz, później zwiększa o linijke, wraca wiersz spowrotem, znowu zwiększa linijke i znowu jedzie cały wiersz, i tak całą stronę...

Mam nadzieję że nie zakręciłem tego problemu zabardzo... Proszę Was o wyrozumiałość i wszelaką pomoc...
Z góry bardzo Wam dziękuję i pozdrawiam!
Załączniki
programXY3.vi
(39.95 KiB) Pobrany 279 razy
ODPOWIEDZ