jak wyzerować rejestr przesuwny ?

Jeśli masz coś do powiedzenia w sprawie LabVIEW napisz. Tutaj są tematy, których nie można uściślić do innych działów.
kamson
Posty: 30
Rejestracja: 29 gru 2005 00:00
Lokalizacja: Warszawa

jak wyzerować rejestr przesuwny ?

Post autor: kamson »

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
Kamil
bogdani
Administrator
Posty: 1315
Rejestracja: 30 lip 2003 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Ruda Śląska
Kontakt:

Re: jak wyzerować rejestr przesuwny ?

Post autor: bogdani »

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
Ktoś ci pomógł na forum? Podziękuj dając pochwałę.

Obrazek Obrazek Obrazek
kamson
Posty: 30
Rejestracja: 29 gru 2005 00:00
Lokalizacja: Warszawa

jak wyzerować rejestr przesuwny ?

Post autor: kamson »

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
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: jak wyzerować rejestr przesuwny ?

Post autor: jogurt_owocowy »

Mowa jest srebrem, diagram - złotem ;] Pokaż swój program.
kamson
Posty: 30
Rejestracja: 29 gru 2005 00:00
Lokalizacja: Warszawa

Re: jak wyzerować rejestr przesuwny ?

Post autor: kamson »

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
Thomas
Posty: 5
Rejestracja: 01 wrz 2008 15:45
Lokalizacja: Gliwice
Kontakt:

jak wyzerować rejestr przesuwny ?

Post autor: Thomas »

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.
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: jak wyzerować rejestr przesuwny ?

Post autor: jogurt_owocowy »

Akurat event niekoniecznie będzie tu najlepszym rozwiązaniem. Jako detektor zmiany stanu booleana spróbuj wykorzystać np. Feedback Node + EXOR .
Pozdrawiam
ODPOWIEDZ