odliczanie wstecz w pętli

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
polo
Posty: 28
Rejestracja: 17 mar 2009 11:09
Kontakt:

odliczanie wstecz w pętli

Post autor: polo »

Cześć.
Męczę sie już kilka dni w LV 7.1 ze stworzeniem odliczania do tyłu w pętli for loop. Chcę uzyskać coś takiego że: Pętla for zlicza załóżmy od 0 do 100 i w trakcię tego zliczania po nacinieciu T/F w bloczku select pętla od ostatniej naliczonej wartości zliczala do zera i czy da się jakoś "zatrzasnąć"(zapamiętać) wlaśnie tą ostatnią maxymalną wartość pętli?.jak mogę to najprościej uzyskać?
Proszę o jakieś wskazówki.Pozdrawiam
Awatar użytkownika
bartus
Posty: 141
Rejestracja: 07 maja 2007 00:00
Wersja środowiska: LabVIEW 2009
Lokalizacja: Wrocław/Żory

Re: odliczanie wstecz w pętli

Post autor: bartus »

mozesz zawsze korzystac z shift register - co iteracje podmieniac zmienna przechowywana, a jak juz nacisniesz True to ja po prostu przepisywac.
Jest pare rzeczy dla których warto zyc - TO,UE i nie zmienia sie nic :)
Awatar użytkownika
smiga
Administrator
Posty: 817
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2019
Lokalizacja: Słupsk

Re: odliczanie wstecz w pętli

Post autor: smiga »

5min pomysłów:
Obrazek
Pewnie można to zrobić prościej ... ale to powyżej działa.
Kontrolkę boolean ustaw na Latch (mechanical action)
__ Arkadiusz Śmigielski, tel. 662 01 01 74___
ObrazekObrazekObrazek
Pomogłem ... postaw kawę: https://buycoffee.to/smiga
Awatar użytkownika
coolfon
Posty: 232
Rejestracja: 01 gru 2007 08:59
Wersja środowiska: LabVIEW 2009
Kontakt:

Re: odliczanie wstecz w pętli

Post autor: coolfon »

W LabVIEW 7.1 w pętli For zrobić się tego nie da. Potrzebny Ci jest conditional terminal, który zakończy działanie pętli wcześniej, niż było to wstępnie zdefiniowane. W pętli For dostępny jest on chyba dopiero w LabVIEW 8.5. W wersji 7.1 musisz się poratować pętlą While. Przykładowe rozwiązanie podaję poniżej (nie mam możliwości zapisać do wersji 7.1, dlatego daję obrazki ;) ).
zliczanie.png
Jeśli nic nie naciśniesz, to pętla doliczy do zadanej wartości (na obrazku: 100). Jeśli w trakcie odliczania naciśniesz przycisk (mechanical action: Switch When Pressed) , pętla zacznie odliczać od ostatniej wartości do zera.
polo
Posty: 28
Rejestracja: 17 mar 2009 11:09
Kontakt:

Re: odliczanie wstecz w pętli

Post autor: polo »

Dzięki wielkie.Tak też przypuszczłem że między innymi SHIFT REGISTER jakos moze rozwiazac sprawę ale mialem nadzieję że da się to jakos na jednym dodatkowym bloczku:)Dzięki za podpowiedzi- to dużo mi pomoże.
Dziękuję i pozdrawiam.
polo
Posty: 28
Rejestracja: 17 mar 2009 11:09
Kontakt:

Re: odliczanie wstecz w pętli

Post autor: polo »

coolfon - testowałem Twój program ale okazuje się ze po odliczeniu do 100 zaczyna zliczać znowu od O.Sygnał TRUE pojawia się na wyłączniku pętli tylko przez chwilę.Jak będę miał chwile to spróbuję to zmodernizować.
Awatar użytkownika
rufio
Posty: 36
Rejestracja: 11 kwie 2005 00:00
Lokalizacja: Poznań

Re: odliczanie wstecz w pętli

Post autor: rufio »

Przeczytałem twój post i nie do końca rozumiem o co Ci właściwie chodzi ? Czyżby o to, że pętla odlicza do tyłu a w momencie włączenia przycisku zaczyna odliczać z powrotem ? Pytanie jakie mi się nasuwa to: Co program ma zrobić jak skończy odliczać i wróci do zera ? Drugie pytanie to co ten program ma robić może w ten sposób zrozumiemy co Autor czyli Ty ma na myśli.
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: odliczanie wstecz w pętli

Post autor: jogurt_owocowy »

Sygnał TRUE pojawia się na wyłączniku pętli tylko przez chwilę.
A czy na pewno zastosowałeś się do wszystkich zaleceń i ustawiłeś odpowiednio działanie przycisku tj.:
mechanical action: Switch When Pressed
Lewa strona obrazka poniżej pokazuje co coolfon miał na myśli:
Obrazek

Pozdrawiam
polo
Posty: 28
Rejestracja: 17 mar 2009 11:09
Kontakt:

Re: odliczanie wstecz w pętli

Post autor: polo »

Autor ma na myśli: ;)

Rufio Potrzebuję tego ogólnie rzecz biorąc do zamodelowania procesu mieszania cieczy w przemyśle LV7.1.Chcę wykonać między innymi wizualizację zbiorników.Chcę tu wykorzystać zliczanie w pętli, jako liczbę iteracji N chcę określić litraż zbiornika. Program ma zliczać od 0 do wartości zadanej, np.100 i się wyłączyć.Jezeli nacisnę tajemniczy pstryczek w czasie tego zliczania to chcę by zliczał od tego momentu N w dół do wartości 0 i się zatrzymał.(pozniej wykonywane będą dalsze bloki: czujki, grzałki, pompy, elektrozawory , mieszadła ale jeszcze tego nie sprecyzowałem


jogurt_owocowy.
tego jednak nie testowalem :-? to zmienia postac rzeczy :)

THX
ODPOWIEDZ