Cześć.
Na początek zawsze miło się przywitać. Tak więc Witam wszystkich użytkowników tego forum .
Osobiście kończę projekt związany z LV i szybkim prototypowaniem. W projekcie steruję windą za pomocą karty USB NI.
Winda jest fizycznie zbudowana - model jest zrobiony, łącznie z kontrolkami, przyciskami itd.
Mój problem dotyczy tego, że obecnie próbuję ogarnąć sposób kolejkowania zdarzeń. Mam tu na myśli, wciśnięcie kilku przycisków jeden po drugim i winda zaczyna jezdzić sama od piętra do piętra. Przyciski są obsługiwane poprzez karte NI i wejscie analogowe - rozpoznaje po dzielniku napięcia jakie jest w danej chwili i wie jaki jest przyciśniety przycisk, więc zrobienie tego na event structure odpada bo to nie jest obsługiwane z panelu labview tylko zewnętrznymi przyciskami. Zrobiłem coś na zasadzie kolejki za pomocą tablicy - poprostu daną wartość wpisuję do tablicy, sprawdzam jej "stos" czyli ile ma elementów - maxymalnie 4 elementy. Jeżeli winda dojedzie na piętro, które było tam wpisane to odejmuje jedną wartość z tablicy i przypisuje w to miejsce następna itd. Jednak coś nie do końca mi to gra - dzieje się tak, że wciskam przyciski i w tablicy faktycznie mi się one pojawiają, winda jedzie na pierwsze zadane piętro i przeważnie kasuje pozostałe lub nadpisuje całą tablicę jedną wartością. Czasami zdarzy się tak, że pojedzie na pierwsze zadanie, następnie na drugie i znowu to samo czyli nadpisuje pozostałe zdarzenia jednakową wartością i winda staje. Nie bardzo wiem czym to może byc spowodane. Znaczy domyslam sie, że chodzi z tym nadpisywaniem wartości - jakby winda szybciej nadpisuje, niż fizycznie się to wykona. Nie wiem czy to moze byś spowodowane jakims brakiem delay'a? Probowałem tam umieszczać w rozne miejsca delaye ale nic mi z tego nie wychodzi, moze karta za wolno przetwarza dane niz fizycznie dziala program i on juz nadpisuje wartości a ta czynnosc jeszcze sie nie wykonala?
Zamieszczam wam filmik ukazujacy co dzieje sie z ta tablica i jej stosem w momencie wcisniecie przyciskow. Widac, ze wciskam np 3 a pozniej 1 i winda jedzie na 3, dojezdza, zatrzymuje sie na chwile w tym momencie zaczyna jechac na pietro 1 ale cala tablica sie wyzerowala nie wiadomo skad? Jestem prawie pewny, że brakuje mi tam delaya jakiegoś, żeby to troche wolniej odejmowalo? Jestescie w stanie mi jakos pomoc i mnie nakierowac?
Dodam, ze jestem zielony z LV i dopiero zaczynam przygode ale sie staram
Kolega Nawotka, pewnie będzie kojarzył temat bo go trochę podpytywałem na etapie rozbudowy mojego VI.
P.S. Dzieki za pomoc !
W linki filmiki z dzialnia tego kolejkowania.
https://megawrzuta.pl/filesgroup/540e05 ... 020f6.html
Kolejkowanie zdarzeń - winda
Kolejkowanie zdarzeń - winda
- Załączniki
-
- winda_kolejki22.vi
- (336.26 KiB) Pobrany 350 razy
Re: Kolejkowanie zdarzeń - winda
dolacz subVIs
Na pierwszy rzut oka moge powiedziec, ze Twoje "kolejki" wychodza ze skryptu co troche komplikuje sprawe.
Na pierwszy rzut oka moge powiedziec, ze Twoje "kolejki" wychodza ze skryptu co troche komplikuje sprawe.
Re: Kolejkowanie zdarzeń - winda
W zalaczniku.
Dzieki, czekam za jakas informacją.
Dzieki, czekam za jakas informacją.
- Załączniki
-
- winda.rar
- (1.04 MiB) Pobrany 339 razy
Re: Kolejkowanie zdarzeń - winda
winda2.vi czy winda_opt_nowa.vi?
i jakie przykladowe wartosci wychodza z Daq.png?
i jakie przykladowe wartosci wychodza z Daq.png?
- Załączniki
-
- Daq.png (1.84 KiB) Przejrzano 6395 razy
Re: Kolejkowanie zdarzeń - winda
projekt jest pod Winda2.vi a subVI w ktorym jest kolejkowanie jest zrobiony pod winda_kolejki22.vi
z tego daq wychodza wartosci napiec jakie sa podawane z fotorezystorow poprzez karte miedzy 0 a 5V. Dokladnych wartosci nie jestem teraz w stanie sprawdzic jak to sie zachowuje, ale to jest odczyt z wejsc analogowych, do ktorych mam podlaczone fotorezystory.
z tego daq wychodza wartosci napiec jakie sa podawane z fotorezystorow poprzez karte miedzy 0 a 5V. Dokladnych wartosci nie jestem teraz w stanie sprawdzic jak to sie zachowuje, ale to jest odczyt z wejsc analogowych, do ktorych mam podlaczone fotorezystory.