Strona 1 z 1

Problem przy tworzeniu stopera z opcją pauzy/kontynuacji

: 23 sty 2013 23:58
autor: Cerberus
Witam serdecznie,

pewnie macie powyżej uszu tematów zakładanych przez ludzi, którzy o LabView nie mają pojęcia, a muszą zrealizować jakieś zadanie jednorazowo na uczelnie, czy coś w ten deseń... niestety znalazłem się w podobnej sytuacji :( Nie chce poświęcać godzin przeglądając tutoriale i dokumentacje, bo to prawdopodobnie moje jedyne spotkanie z LabView w życiu, a muszę zrealizować dość proste zadanie.

Konkretniej, mam stworzyć program, który niczym nie będzie się różnił w działaniu od tego z załącznika o nazwie stoper.

Załączam też to, co samemu udało mi się wyprodukować metodą prób i błędów oraz "na chłopski rozum" - generalnie jest wyświetlacz z dwoma wskazówkami, odliczanie czasu działa, reset działa, kończenie działa, zostało mi pauzowanie/wznawianie. Brakuje mi już pomysłu jak to ugryźć. Zapewne albo istnieje jakiś bloczek czy opcja pauzy, którego nie udało mi się znaleźć, albo zabieram się do problemu od kompletnie złej strony :)

Dość podstawowym problemem, który mi przeszkadza przy realizacji jest fakt, że w pętli while nie działają mi poprawnie przyciski bistabilne. W razie gdyby to był jakiś problem nie do obejścia (w co zresztą wątpię) mogę użyć jakiś toggle switchy, które działały dobrze, może prowadzący nie będzie aż tak dociekliwy.

Generalnie najbardziej brakuje mi czegoś takiego, jak po prostu zmienna, gdzie bym sobie mógł prosto wrzucić czas naciśnięcia pauzy, a potem go odczytać i użyć przy wznowieniu...

Prosiłbym o jakieś wskazówki, za pomocą jakich elementów czy w jaki sposób mogę zrealizować taką funkcjonalność. Będę naprawdę wdzięczny i obiecuję w ramach rekompensaty, że jeżeli na którymś z for o bliższej mi tematyce gdzie się udzielam ktoś zada równie podstawowe pytanie, poświęcić trochę czasu i podzielić się wiedzą ;)

Z góry dziękuję i przepraszam, jeżeli pytam w złym dziale czy coś podobnego (w regulaminie forum przejrzałem tylko punkty tyczące się zadawania pytań, całość wygląda nieco zaporowo ;) )

Re: Problem przy tworzeniu stopera z opcją pauzy/kontynuacji

: 24 sty 2013 10:13
autor: dzojstik22
Jak możesz to zapisz to we wcześniejszej wersji.

Problem przy tworzeniu stopera z opcją pauzy/kontynuacji

: 24 sty 2013 13:30
autor: skrzatswat
Troszkę poprawiłem ;]
Untitled 1.vi
(15.74 KiB) Pobrany 460 razy

Re: Problem przy tworzeniu stopera z opcją pauzy/kontynuacji

: 24 sty 2013 22:47
autor: Cerberus
@dzojstik22 - Wrzucam w załączniku.

@skrzatswat - Dzięki za zainteresowanie tematem :) Niestety Twój program nie przybliża mnie za bardzo do rozwiązania problemu, bo nie potrafię zrozumieć w jaki sposób jest tam zrobiony ten mechanizm pauzy/wznowienia, dlaczego to działa... :/

Generalnie to brakuje mi po prostu wrzucenia sobie czasu zatrzymania do zmiennej i potem korzystania z niego, mając to już bym sobie myślę poradził. Nie wiem, czy da się to jakoś prosto uzyskać...?

Re: Problem przy tworzeniu stopera z opcją pauzy/kontynuacji

: 25 sty 2013 08:47
autor: Góras
Czas zatrzymania krąży w rejestrze przesuwnym (tym pomarańczowym :) ) - dodałam Ci jeszcze czas wznowienia - może się przydać.

Generalnie program zwiększył się o dwie struktury Case - stan True zewnętrznej jest związany ze zmianą stanu przycisku (z True na False lub z False na True) - porównywanie z wartością poprzednią (Feedback Node). Wewnętrzny Case zależy od stanu przycisku - w True do rejestru przesuwnego wpisywany jest czas wciśnięcia przycisku Pauza, w stanie False do rejestru wpisywana jest poprzednia wartość z rejestru, czyli wcześniej zapamiętany czas wciśnięcia Pauzy.

Re: Problem przy tworzeniu stopera z opcją pauzy/kontynuacji

: 02 lut 2013 15:26
autor: Cerberus
Dzięki Góras, jak sobie przeanalizowałem Twój układ i to co napisałeś, to byłem w stanie sobie sam zrobić to jak chciałem :)

Moja koncepcja jest taka, że w dwóch rejestrach przesuwnych krąży sumaryczny czas spędzony na pauzie i czas spędzony na liczeniu. Czas spędzony na pauzie wyliczam zawsze jako całościowy czas od rozpoczęcia programu odjąć czas liczenia. Czas liczenia, jeżeli timer jest zastopowany, przepisuję bez zmian, a jeżeli nie jest zastopowany, to wyliczam tak: aktualny czas liczenia = delta czasu dodać aktualny czas liczenia i od tego odjąć czas pauzy.

Jeszcze raz dzięki za pomoc!