Wykresy liczników Klop

iM@rek
Posts: 353
Joined: Thu Feb 09, 2023 1:25 pm

Post

Licznik Klop liczy impulsy.
Przy ustawieniu "rosnący i malejący", w sytuacji, kiedy kolejny odczyt jest mniejszy od poprzedniego, pokazuje właściwe wartości, ale jako ujemne.
Ros+Mal.jpg
Przy ustawieniu "zawsze rosnący" wycina kolejne mniejsze od poprzednich wartości (nie zawsze) i pokazuje info "Reset licznika" na wykresie.
Ros.jpg
Jak to ustawić, żeby wyglądało "normalnie"?

Na stronie i w apce na IOS wygląda to tak samo "niepoprawnie".
You do not have the required permissions to view the files attached to this post.
User avatar
klew
Posts: 11112
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

Wykresy liczników (w tym KLOP) pokazują zawsze "przyrosty" (dodanie i ujemne).

Licznik impulsów nigdy nie powinien maleś. Bo czymże jest ujemny impuls? ;)

Jeśli chcesz widzieć po prostu mierzoną wartość, to użyj KPOP-a.
iM@rek
Posts: 353
Joined: Thu Feb 09, 2023 1:25 pm

Post

Ok, te wykresy są generowane w oparciu o dane powstające liczenia impulsów w odniesieniu do okresu pomiaru (tu akurat 5s). Po każdym okresie są zerowane - to licznik impulsów dla prędkości chwilowej wiatru.
W sumie to zrezygnuję z historii tego Klopa, mam drugi, który po prostu liczy impulsy i wysyła wyniki co 10 min do Supli - i tam jest ok, nie ma ujemnych wartości.
Muszę tylko przeliczyć w konfiguracji na stronie impulsy/ obroty anemometru z 10 minut na m/s i będę miał historię prędkości wiatru.
Dzięki.
User avatar
klew
Posts: 11112
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

iM@rek wrote: Wed May 29, 2024 1:53 pm Ok, te wykresy są generowane w oparciu o dane powstające liczenia impulsów w odniesieniu do okresu pomiaru (tu akurat 5s). Po każdym okresie są zerowane - to licznik impulsów dla prędkości chwilowej wiatru.
W sumie to zrezygnuję z historii tego Klopa, mam drugi, który po prostu liczy impulsy i wysyła wyniki co 10 min do Supli - i tam jest ok, nie ma ujemnych wartości.
Muszę tylko przeliczyć w konfiguracji na stronie impulsy/ obroty anemometru z 10 minut na m/s i będę miał historię prędkości wiatru.
Dzięki.
Jeśli liczysz ilość impulsów w jednostce czasu, to to już nie jest licznik impulsów, tylko pomiar czegoś zbliżonego do prędkości. Dlatego ten kanał powinien być kpop-em
iM@rek
Posts: 353
Joined: Thu Feb 09, 2023 1:25 pm

Post

@Klew:
tak, dzięki za tą uwagę.
iM@rek
Posts: 353
Joined: Thu Feb 09, 2023 1:25 pm

Post

klew wrote: Wed May 29, 2024 2:00 pm Jeśli liczysz ilość impulsów w jednostce czasu, to to już nie jest licznik impulsów, tylko pomiar czegoś zbliżonego do prędkości. Dlatego ten kanał powinien być kpop-em
@Klew:
za Twoją radą zmieniłem moduły w Anemometrze:
KLOP - liczy impulsy
KPOP - mierzy szybkość na podstawie liczby impulsów z KLOPa
pomiar jest w czasie 5 sekund, przeliczenie na szybkość i aktualizacja SetValue kanału KPOP.
No i robią się historyczne wykresy prędkości - fajne.

Ale: jako, że do serwera Supli dane trafiają co 10 minut, wypadałoby uśrednić pomiary 5-ciosekundowe w czasie 10-min.
No i zsynchronizować wysyłanie z transmisją do serwera.
Bo oprócz pokazywania w apce wartości chwilowych aktualizowanych co 5 sekund (u mnie), chciałbym do serwera wysyłać uśrednione prędkości z 10 min, żeby na wykresach były średnie 10-cio min. a nie przypadkowa wartość chwilowa odczytana w chwili synchronizacji.
Na wykresach widzę, że znacznik czasu danych ma końcówkę minutową "6": 06, 16, 26 itd...
Pytanie: jak mam sprawdzić/ zrobić tę synchronizację?
User avatar
klew
Posts: 11112
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

iM@rek wrote: Thu Jun 06, 2024 7:47 am
klew wrote: Wed May 29, 2024 2:00 pm Jeśli liczysz ilość impulsów w jednostce czasu, to to już nie jest licznik impulsów, tylko pomiar czegoś zbliżonego do prędkości. Dlatego ten kanał powinien być kpop-em
@Klew:
za Twoją radą zmieniłem moduły w Anemometrze:
KLOP - liczy impulsy
KPOP - mierzy szybkość na podstawie liczby impulsów z KLOPa
pomiar jest w czasie 5 sekund, przeliczenie na szybkość i aktualizacja SetValue kanału KPOP.
No i robią się historyczne wykresy prędkości - fajne.

Ale: jako, że do serwera Supli dane trafiają co 10 minut, wypadałoby uśrednić pomiary 5-ciosekundowe w czasie 10-min.
No i zsynchronizować wysyłanie z transmisją do serwera.
Bo oprócz pokazywania w apce wartości chwilowych aktualizowanych co 5 sekund (u mnie), chciałbym do serwera wysyłać uśrednione prędkości z 10 min, żeby na wykresach były średnie 10-cio min. a nie przypadkowa wartość chwilowa odczytana w chwili synchronizacji.
Na wykresach widzę, że znacznik czasu danych ma końcówkę minutową "6": 06, 16, 26 itd...
Pytanie: jak mam sprawdzić/ zrobić tę synchronizację?
Wartość średnia z 10 min jest dostępna w wykresach. Ja bym tutaj na urządzeniu już nic nie przerabiał, bo jak z urządzenia zaczniesz wysyłać średnią z 10 min, to stracisz info o pomiarach chwilowych, min/max.

Może tutaj warto się zastanowić nad rozbudową apek, aby na liście pokazywały wartość chwilową, albo średnią/min/max z jkaiegoś okresu?
iM@rek
Posts: 353
Joined: Thu Feb 09, 2023 1:25 pm

Post

klew wrote: Thu Jun 06, 2024 8:42 am
Ja to chciałem zrobić w nast. sposób:
Mam KPOP do prezentacji wartości chwilowej aktualizowanej co 5s.
Zrobię drugi KPOP, który będzie dostawał uśrednioną prędkość z 10 min.
I tę wartość będę dodatkowo wysyłać do serwera.
Czyli będą dwa wykresy: prędkości chwilowych i prędkości średnich 10-cio minutowych.

Tylko nie wiem, jak się zsynchronizować z wysyłkami co 10 minut.
Dlatego pytam, gdzie jest ta procedura wysyłania.
Chociaż w sumie... może ta synchronizacja nie jest aż tak potrzebna, najwyżej wartości będą "przesunięte" względem 10-cio minutowej synchronizacji oprogramowania.
Tak czy inaczej -
1. W którym module jest ta procedura wysyłania co 10 min?
2. Jak się z nią synchronizować?
3. W moim przypadku, na różnych wykresach, z różnych modułów, widzę, że dane mają końcówkę minutową "6" - przypadek, czy od czegoś to zależy?
User avatar
klew
Posts: 11112
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

iM@rek wrote: Thu Jun 06, 2024 9:32 am Tylko nie wiem, jak się zsynchronizować z wysyłkami co 10 minut.
Dlatego pytam, gdzie jest ta procedura wysyłania.
Chociaż w sumie... może ta synchronizacja nie jest aż tak potrzebna, najwyżej wartości będą "przesunięte" względem 10-cio minutowej synchronizacji oprogramowania.
Tak czy inaczej -
1. W którym module jest ta procedura wysyłania co 10 min?
2. Jak się z nią synchronizować?
3. W moim przypadku, na różnych wykresach, z różnych modułów, widzę, że dane mają końcówkę minutową "6" - przypadek, czy od czegoś to zależy?
Możesz trzymać średnią kroczącą i wysyłać ją dowolnie często (jak się zmieni).
Np. jeśli robisz pomiar co 5 s, to robisz tablicę "pomiary[120]" i ją zapełniasz pomiarami i przy każdym nowym pomiarze, obliczasz średnią i ją wstawiasz do KPOP'a średniego.
Wtedy ten kanał będzie zawsze pokazywał średnią z ostatnich 10 min pracy.

ad 3 - to zależy od tego kiedy serwer wystartował. Jeśli uruchomił się o 12:36 to kolejne zapisy w historii będą co 10 min od tego czasu. Stąd masz te 6 ;). Ale jak będzie update/reset servera to masz 90% szans, że pojawi się inna liczba.
iM@rek
Posts: 353
Joined: Thu Feb 09, 2023 1:25 pm

Post

klew wrote: Thu Jun 06, 2024 11:18 am
Dzięki, zrobiłem tablicę dynamiczną

Code: Select all

int * tIC0_Val = new int[MeasCount] (); // tabl. na wart. pomiarów dla Avg 10 min z zerowaniem
Działa ok.
Po restarcie tworzy tę tablicę, wypełnia zerami.
Potem co 5 sekund wstawia do niej kolejną wartość,
sumuje te 120 wartości, liczy średnią i aktualizuje KPOP-10min.
Ale teraz pytanie: Ta tablica chyba powinna być we FRAM?

Return to “Pomoc”