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