Strona 1 z 1

sygnalizacja świetlna na skrzyżowaniu

: 02 lis 2016 18:17
autor: Adan1995183
Witam prosiłbym o pomoc w realizacji sygnalizacji świetlnej w programie labview. Sygnalizacja świetlna musi zawierać dwa sygnalizatory dla aut i dwa dwa sygnalizatory dla pierwszych po jednej i po drugiej stronie. Przy czym przy sygnalizatorach dla pierwszych muszą być przyciski do zmiany światła dla pierwszego. Sygnalizacje należałoby wykonać za pomocą konstrukcji sekwencyjnej Flat seqance.

Re: sygnalizacja świetlna na skrzyżowaniu

: 02 lis 2016 19:30
autor: PiDi
Proponuję zacząć tutaj: http://www.ni.com/academic/students/learn-labview/

Tylko nie bardzo rozumiem to wymaganie:
Sygnalizacje należałoby wykonać za pomocą konstrukcji sekwencyjnej Flat seqance.
Za takie coś to karne spaghetti dla autora [-(

sygnalizacja świetlna na skrzyżowaniu

: 03 lis 2016 09:11
autor: Adan1995183
Tylko nie bardzo rozumiem jak ma mi to pomóc skoro mam to wykonać w oparciu o flat seqance. A tam zostało to wykonane za pomocą pętli.

sygnalizacja świetlna na skrzyżowaniu

: 03 lis 2016 10:17
autor: aaddaas
Światła na ulicy są zapętlone w pewnej sekwencji. Czyli nawet jeśli chcesz użyć flat sequence (co jest faktycznie absurdalnym wymaganiem), musisz wrzucić to w pętle, by sekwencja się powtarzała...
Swoją drogą, to bym się upewnił, czy na pewno musisz użyć flat sequence, ponieważ takie ograniczenie wręcz przeczy idei programowaniu w labVIEW, gdyż jest to klasyczne zadanie dla użycia maszyny stanów...

Re: sygnalizacja świetlna na skrzyżowaniu

: 03 lis 2016 11:37
autor: PiDi
Adan1995183 pisze:Tylko nie bardzo rozumiem jak ma mi to pomóc skoro mam to wykonać w oparciu o flat seqance. A tam zostało to wykonane za pomocą pętli.
Ja nie za bardzo rozumiem, czego oczekujesz. Że ktoś Ci zrobi gotowca? W Twoim pierwszym poście nie ma żadnego konkretnego pytania - zadaj je, a otrzymasz odpowiedź.

Re: sygnalizacja świetlna na skrzyżowaniu

: 03 lis 2016 19:31
autor: Adan1995183
Jak robić żeby połączyć oba sygnalizatory aby działały jednocześnie. dodać jeszcze sygnalizatory oraz zrobić model dla pierwszych wraz z przyciskiem zmiany światła.

sygnalizacja świetlna na skrzyżowaniu

: 09 lis 2016 00:07
autor: micard
Lasciate ogni speranza, voi ch'entrate

Re: sygnalizacja świetlna na skrzyżowaniu

: 16 lis 2016 18:10
autor: Adan1995183
Czy można zrealizować tą sygnalizację za pomocą flat seqance ?

sygnalizacja świetlna na skrzyżowaniu

: 17 lis 2016 09:09
autor: cyjan1
Można. Ale nie wypada :-)

Re: sygnalizacja świetlna na skrzyżowaniu

: 31 sty 2017 22:20
autor: Dzierzbowska
Witam wszystkich, odświeżam wątek sygnalizacji świetlnej.
Bardzo Was proszę o pomoc, bo niestety skończyły mi się pomysły :(
Tworzę właśnie aplikację w LabVIEW, robiłam już co prawda jakieś niewielkie programy, ale teraz robię projekt dyplomowy - sygnalizację świetlną na skrzyżowaniu. Rozpisałam sobie fazy, wyznaczyłam czasy międzyzielone, itp., zabrałam się za program.
Ogólna zasada działania? Dane o natężeniu ruchu i o pojawieniu się pojazdu uprzywilejowanego są przekazywane z kamer detekcyjnych do sterownika, tam "zapada decyzja" który program sygnalizacji włączyć - zerowy, pierwszy czy specjalne.
Mój pomysł był taki, by w programie zastosować Flat Sequence Structure - nie wypada widzę, ale uznałam, że to sposób najprostszy, najbardziej intuicyjny, taki na "chłopski rozum". Żeby nie zaśmiecać programu wymyśliłam, by to podprogram realizował zadanie sygnalizatora. Tak tedy utworzyłam subVI "S-1", który ma w głównym programie symulować sygnalizator S-1 i S-3. Osobny subVI "S-5" symuluje sygnalizator dla pieszych i rowerzystów. Jest także subVI "Detekcja" symulujący kamerę detekcyjną.
Wszystko ładnie, pięknie, ale wyniknął taki problem. SubVI z sygnalizatorem sam w sobie działa, na panelu suba światła się elegancko zmieniają. Z początku robiłam to na zmiennych lokalnych, teraz przerabiam na zmienne globalne, by sub działał w głównym. Nie mniej subVI nie działa w programie głównym. Zwraca tylko końcową wartość z ostatniej ramki Flat Sequence z subVI (w tym przypadku tylko światło żółte), a ja jednak chciałabym, by sygnalizator działał poprawnie nie tylko na panelu suba, ale i na panelu głównym programu.
Pytanie jest takie: czy jest możliwość "wyciągania" z każdej ramki Flat Sequence danych wyjściowych z subVI do programu głównego?
Przeszukałam fora, Google, Help i Examples, ale nie znalazłam odpowiedzi. Pewnie nikt po prostu takich błędów jak ja nie robi ;)
Plików z tego wątku nie mogę uruchomić, ponieważ mam wersję LabVIEW 2013.

Bardzo uprzejmie proszę o pomoc wszystkich doświadczonych :)

sygnalizacja świetlna na skrzyżowaniu

: 01 lut 2017 09:47
autor: aaddaas
Domyślam się, że w głównym programie nie masz równoległych pętli.
Jeśli w prgramie masz SubVI, to program czeka aż ten subVI się wykona i dopiero później rusza dalej.
Jeśli jednak byś miała równolegle pętle, w których pierwsza wywołuje program, zaś druga sprawdza stan zmiennych globalnych (tutaj proponuje FGV zamiast globalów - szczegóły niżej), wtedy ten Twój pomysł mógłby zadziałać.
Jednak bez rzucenia okiem na program mogę tylko wróżyć z fusów jakie rozwiązanie będzie w Twoim przypadku najlepsze;)

FGV - Functional Global Variable - jest to subVI, który zasadniczo działa jak zmienna globalna, ale zapobiega występowaniu race conditions. http://www.labviewing.com/fgv-in-labview/

Re: sygnalizacja świetlna na skrzyżowaniu

: 01 lut 2017 21:11
autor: Dzierzbowska
Dziękuję za odpowiedź :)
Oczywiście powinnam od razu wrzucić program, ale zapomniałam :)
Wiem, jest chaotyczny i mocno rozrośnięty... :( I mało czytelny :(
Każdą krytykę przyjmę na klatę.

sygnalizacja świetlna na skrzyżowaniu

: 06 lut 2017 22:14
autor: Dzierzbowska
Witam ponownie :)
Próbuję ogarnąć FGV, co mi opornie idzie. Czy dobrze rozumiem, żeby moje subVI S-1 i S-5 (vide: Projekt.zip) zamienić na FGV? Co wtedy zrobić ze zmiennymi lokalnymi, które są w subVI? I czy te pętle równoległe miałyby zastąpić moją strukturę Case, wybór programu?
Aha, i przez zmienne globalne chyba posypała mi się sekwencją świateł w subVI...
Czy chciałam dobrze, a wyszło jeszcze gorzej ;)