Witam. Mam problem jeśli chodzi o timer, potrzebuję do programu prostego timera z pauzą i resetem, który posiada tylko 3 stany (resume, reset, pause). Problem pojawia się jeśli chodzi o pauzę, mianowicie timer podczas trwania w tym stanie dalej nalicza czas i po przejściu na resume, nie startuje od wartości na której został zatrzymany (tylko np. skacze 5/10 sekund do przodu w zależności od tego ile trwała pauza). Niżej wrzucam screeny kodu
To zależy od tego, czy potrzebujesz ten Timer wywoływać tylko w razie jakiegoś Eventu, bez możliwości wykonania tej samej akcji 2x pod rząd, czy będzie on wywoływany ciągle, np. w każdej iteracji pętli. Bo ja stosuję nieco inne warianty w zależności od zastosowania.
Jeżeli ma działać ciągle, to chyba nie obejdzie się bez dodatkowych Shift Registrów. O ile dobrze pamiętam: stan Elapsed Time w chwili włączenia pauzy, flaga boolean "Pause?" lub akcja wykonana w poprzednim wywołaniu funkcji.
W materiałach do CLD te timery są "zwyobracane" od każdej strony.
@Jamal79 Dzięki za link przeszukiwałem forum frazą "timer" a nie "stoper" dlatego nic nie znalazłem
@koofaya Ma to być timer jak najprostszy (muszę go zrobić na kolokwium zaliczeniowym na który mam godzine, jako SubVI do większej maszyny stanów), ma odliczać czas trwania danej akcji (np. palenia się diody LED) i po upłynięciu tego czasu, puszczać program dalej. Nie wiem za bardzo jak dokładnie to wyjaśnić bo z LV mam do czynienia dopiero od kilku miesięcy więc jestem prawie zielony w temacie.