Aby pompa ciepła nieposiadająca bufora funkcjonowała poprawnie, jedna z pętli ogrzewania musi być zawsze otwarta. W niniejszym artykule zaprezentowano, w jaki sposób przygotować logikę, aby osiągnąć wspomniany efekt.
1. Dla każdej pętli ogrzewania utwórz obiekt wirtualny Termostat. Jeśli potrzebujesz pomocy z ich utworzeniem, sprawdź nasz artykuł.
W naszym przykładzie utworzono termostaty: Termostat_Salon, Termostat_Sypialnia, Termostat_Kuchnia odpowiadające pętlom grzewczym w salonie, sypialni oraz kuchni.
Termostaty będą sterowały siłownikami za pomocą wyjść przekaźnikowych: Petla_Salon, Petla_Sypialnia, Petla_Kuchnia.
2. Zdefiniuj pętlę dyżurną, która zostanie otwarta, gdy pozostałe zostaną zamknięte. W naszym przypadku będzie to Pętla_Salon.
3. Utwórz skrypt, który sprawdzi stany wszystkich siłowników poza pętlą dyżurną. Jeżeli ich iloczyn logiczny będzie równy zero, algorytm wyłączy termostat zarządzający pętlą dyżurną, a następnie wysteruje jej siłownik. Jeżeli warunek nie będzie spełniony, algorytm na nowo uruchomi termostat pętli dyżurnej.
Przykładowy skrypt (SCR_Petla_Dyzurna) wygląda następująco:
if (CLU->Petla_Sypialnia->Value==0 and CLU->Petla_Kuchnia->Value==0) then
CLU->Termostat_Salon->Stop()
SYSTEM.Wait(1000)
CLU->Petla_Salon->SwitchOn(0)
else
CLU->Termostat_Salon->Start()
end
gdzie:
- Termostat_Salon to obiekt wirtualny Termostat (z wyjściem Petla_salon), który został dedykowany do bezwarunkowego załączenia podczas, gdy pozostałe siłowniki przyjmują status 0,
- Petla_Sypialnia, Petla_Kuchnia - wszystkie siłowniki w instalacji poza siłownikiem dyżurnym (w tym przypadku bez siłownika Petla_salon).
Skrypt należy przypisać do zdarzeń OnValueChange wszystkich siłowników poza siłownikiem dedykowanym.
4. W ostatnim kroku prześlij konfigurację do CLU.