Strona 1 z 1
jak wyzerować rejestr przesuwny ?
: 05 lut 2008 05:17
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
Re: jak wyzerować rejestr przesuwny ?
: 05 lut 2008 05:56
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
jak wyzerować rejestr przesuwny ?
: 05 lut 2008 06:22
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).
Re: jak wyzerować rejestr przesuwny ?
: 05 lut 2008 09:51
autor: jogurt_owocowy
Mowa jest srebrem, diagram - złotem ;] Pokaż swój program.
Re: jak wyzerować rejestr przesuwny ?
: 06 lut 2008 06:57
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ć.
jak wyzerować rejestr przesuwny ?
: 09 wrz 2008 18:26
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.
Re: jak wyzerować rejestr przesuwny ?
: 09 wrz 2008 20:43
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