case do tyłu...
case do tyłu...
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:)
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:)
case do tyłu...
Jeśli dobrze rozumiem, to co kolega chce zrobić to, po namyśle stwierdzam, maszyna stanów. Ale mogę się mylić
. Może wypowie się ktoś mądrzejszy ode mnie.
Aha. Pewnie że jest możliwe. Poszukaj w LabVIEW przykładów "State Machine"

Aha. Pewnie że jest możliwe. Poszukaj w LabVIEW przykładów "State Machine"
Pomogłem?... pochwal mnie 

-
- Posty: 641
- Rejestracja: 31 gru 2010 01:36
- Wersja środowiska: LabVIEW 2017
- Lokalizacja: Katowice
Re: case do tyłu...
Nie bardzo rozumiem co to znaczy, że case jest "generowany". Możesz pokazać ten kod?
Re: case do tyłu...
Tak jak zauważył Darkon maszyna stanów całkiem dobrze się tu sprawdza.
- Załączniki
-
- LewoPrawo.vi
- (13.33 KiB) Pobrany 263 razy
case do tyłu...
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).
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).
case do tyłu...
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.Kamyll0 pisze:Mogę się spytać jak zrobiłeś że do case dochodzi kierunek i case wie że ma zliczać wstecz jak wybierzemy inny kierunek?
Pomogłem?... pochwal mnie 

Re: case do tyłu...
"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,
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
case do tyłu...
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.
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.
case do tyłu...
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:)
Wystarczyło zajrzeć w Properties, eh o tej godzinie ciężko z główkowaniem:)
Bardzo Ci jeszcze raz dziękuję:)
Pozdrawiam:)
Re: case do tyłu...
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!
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