Sterowanie pompą cyrkulacyjną - dwa zbiorniki

Witam,

mam chyba dość prosty problem.

Potrzebuje zautomatyzować zmieszanie wody w dwóch zbiornikach CWU.
Oba zbiorniki są połączone ze sobą tak by był jednym wielkim magazynem.
Oczywiście posiadają termometry.
Jeden zbiornik posiada pare grzałek i drugi także.
Problem w tym, że te grzałki służą do różnych automatyzacji.
Potrzebuje w krytycznym momencie przemieszać zawartość tych zbiorników tak by obniżyć ich temp.
I tu zrodził się problem. Na 1 procesie włączenia cyrkulacji jest ok. Natomiast nie wiem jak utworzyć flow by na 2 zbiornikach wzajemnie się nie wyłączały. Ponieważ np. gdy CWU 1 ma 80°C i proces włączy mieszanie, po 3 minutach opoznienia proces sprawdzi temp z CWU 1 ale także z CWU 2 i wyłączy cyrkulacje.

Problem pewnie prosty ale opis już nie :slight_smile:
Opisz w prosty i wyczerpujący sposób co chcesz uzyskać.
Z tego obrazka nic nie wynika… tylko tyle, że nie kontrolujesz temp CWU1.
Problem jest na poziomie algorytmu a nie implementacji.
Dlaczego nie zrobiłeś tego na zasadzie pomiaru różnicy temperatur w obu zbiornikach?

No tak opis.

Dwa zbiorniki CWU 1 CWU 2
Dwie różne automatyzacje sterują grzałkami i działa to ok.

Potrzebuje tylko zmieszać wodę w krytycznym momencie.
Odpada pomiar różnic z tego powodu, że zasobniki powinny mieć różnice.
Chcę tylko by gdy temp osiągnie pewną wartość pompka cyrkulacyjna zmieszała tę wodę.

I problem tak jak pisałem jest taki, że nie znam rozwiązania by
scenariusz:
CWU 2 ma wartość krytyczną → włącza pompkę → delay odczekuje 3 minuty - > ponownie sprawdzamy CWU 2 i następnie gdy mamy żądaną temp wyłącza pompkę. Jeśli nie to proces działa dalej.

Powyższe działa ok.

Natomiast jak spojrzysz na obrazek to:
timestamp odpytuje current state ( cwu 1 i cwu 2) i na podstawie tego wyzawala się call service.
Po 3 minutach odpytywane jest CWU 2, któro będzie mieć krytyczną wartość więc nie wyłączy się pompka. PROBLEMEM jest w tym przykłądzie i konfiguracji CWU 1, któro będzie miało np 19 i wyłączy proces. Następnie zadziała to od początku i będę miał tylko mieszanie 3 minuty…

Przepraszam, za chaotyczność…

i dziękuje za odp

Być może tak jest ale tego nie widać. Nie byłoby dyskusji gdybyś załączył źródło.

Wypisz wszystkie warunki przy których załącza się pompka i osobno warunki przy których wyłącza. Operuj na konkretach będzie łatwiej znaleźć wspólny język.
Gdy ustawisz timestamp na 3min to wystarczy sprawdzić powyższe warunki - czy spełniony jest pierwszy, drugi czy żaden. Obejdzie się wtedy bez delay

Możesz zrobić to tak Grzanie zbiornika CWU do temperatury np 85’C gdy temperatura jest niższa włącz grzałkę.

Załączenie mieszania 84’C np 5 mim uruchamiane time stamp gdy grzałka pracuje.

Wyłączenie grzałki i pompy mieszającej gdy temperatura przekroczy 85’C