witam,
W moim programie pojawił się problem wyzerowania wartości w tablicy znajdującej się w rejestrze przesuwnym. Wykorzystuję ją do liczenia średniej z ostatnich 20 pomiarów. Natomiast po zmianie typu produktu muszę średnią wyzerować, a w rejestrze zostają mi stare dane które są uwzględniane w następnej średniej. Nie pomaga wyjście z pętli while - wartości nadal są pamiętane. Rejestr zeruje się dopiero po restarcie programu.
Po prostu podpowiedzcie mi jak wyzerować tą średnią.
Pozdrawiam
jak wyzerować rejestr przesuwny ?
-
- Administrator
- Posty: 1315
- Rejestracja: 30 lip 2003 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Ruda Śląska
- Kontakt:
Re: jak wyzerować rejestr przesuwny ?
Witaj
Zerowanie od zewnątrz pętli możesz wykonać poprzez przypisanie stałej do rejestru przesuwnego i wtedy będzie on uruchamiany od wartości ze stałej.
Zerowanie w środku pętli wykonujesz przez zastąpienie wartości ze stałej wartości rejestru. W następnym obrocie pętli będziesz miał wyzerowaną wartość.
Jak pokazano poniżej na rysunku.
bogdani
Zerowanie od zewnątrz pętli możesz wykonać poprzez przypisanie stałej do rejestru przesuwnego i wtedy będzie on uruchamiany od wartości ze stałej.
Zerowanie w środku pętli wykonujesz przez zastąpienie wartości ze stałej wartości rejestru. W następnym obrocie pętli będziesz miał wyzerowaną wartość.
Jak pokazano poniżej na rysunku.
bogdani
jak wyzerować rejestr przesuwny ?
Drugi sposób jest ok i na pewno zadziała (zaraz sprawdzę). Jednak nie wiem czemu zerowanie danych przy starcie pętli jakoś nie całkiem działa. Nie całkiem dlatego, że przy starcie programu tak, ale po stop -> run już nie zeruje tylko pamięta poprzednie wartości i to mnie zdziwiło, bo przecież po run znowu wchodzi do pętli a więc przepisuje też wartość początkową (zerowanie danych przy starcie pętli).
Kamil
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: jak wyzerować rejestr przesuwny ?
Mowa jest srebrem, diagram - złotem ;] Pokaż swój program.
Re: jak wyzerować rejestr przesuwny ?
Mojego programu w całości nie chcielibyście widzieć... (na usprawiedliwienie powiem, że to dopiero mój drugi), ale pokażę pewne fragmenty może coś jeszcze będę mógł poprawić.
Kamil
jak wyzerować rejestr przesuwny ?
Witam a jak sobie poradzić w przypadku gdy case zarowno w true jak i w false korzytam z tego samego rejestru jednak chce aby rejestr ten byl zerowany w mencie kiedy wybieram true lub false czy w momencie zmiany stanu. Czy nalezy tutaj użyć event z change value? Jak sobie z tym poradzic. Szczerze mówiąc nie bardzo mam pojęcie jak sie korzysta z eventa --------------------- Po chwili prób storzylem cos takiego. Pewnie to nei jest najprostsza i najlepsza metoda lae moze komus sie przyda.
Ostatnio zmieniony 09 wrz 2008 18:53 przez Thomas, łącznie zmieniany 1 raz.
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: jak wyzerować rejestr przesuwny ?
Akurat event niekoniecznie będzie tu najlepszym rozwiązaniem. Jako detektor zmiany stanu booleana spróbuj wykorzystać np. Feedback Node + EXOR .
Pozdrawiam
Pozdrawiam