warunkowanie przekaźnika

Awatar użytkownika
kryczka
Posty: 79
Rejestracja: pt wrz 09, 2022 6:40 pm
Lokalizacja: Kielce

Nie mogę zrozumieć tego warunkowania.
Chciałbym aby przekaźnik załączył się przy 68 i niżej. Natomiast przy 68 i powyżej był wyłączony. Jak to ustawić?
Dzięki za pomoc.
Załączniki
Zrzut ekranu 2023-06-4 o 08.47.57.png
Zrzut ekranu 2023-06-4 o 08.47.57.png (23.43 KiB) Przejrzano 355 razy
matrix0606
Posty: 333
Rejestracja: wt lis 08, 2022 9:05 pm

kryczka pisze: ndz cze 04, 2023 6:51 am Nie mogę zrozumieć tego warunkowania.
Chciałbym aby przekaźnik załączył się przy 68 i niżej. Natomiast przy 68 i powyżej był wyłączony. Jak to ustawić?
Dzięki za pomoc.
Jeżeli wartość zmiennej w polu ON jest większa niż wartość odczytana z kanalu, a wartość z pola OFF jest mniejsza niż odczytana z kanału to.... tu się wykobuje warunek.
Prościej mówiąc, jeśli wartość odczytana z kanału mieści się w przedziale między ON i OFF.
Vivo V21 5G 8G RAM + 4G SWAP
Funtouch OS 12 Global
MOBO - MSI B350 Tomahawk
GPU - GTX1060 6G
CPU - Ryzen5 1400 3,2G
PSU - SPC Vero L2 500W 80 Plus Bronze
RAM - HyperX 2x8GB 3200MHz CL16 Predator RGB
Awatar użytkownika
kryczka
Posty: 79
Rejestracja: pt wrz 09, 2022 6:40 pm
Lokalizacja: Kielce

matrix0606 pisze: ndz cze 04, 2023 7:35 am
kryczka pisze: ndz cze 04, 2023 6:51 am Nie mogę zrozumieć tego warunkowania.
Chciałbym aby przekaźnik załączył się przy 68 i niżej. Natomiast przy 68 i powyżej był wyłączony. Jak to ustawić?
Dzięki za pomoc.
Jeżeli wartość zmiennej w polu ON jest większa niż wartość odczytana z kanalu, a wartość z pola OFF jest mniejsza niż odczytana z kanału to.... tu się wykobuje warunek.
Prościej mówiąc, jeśli wartość odczytana z kanału mieści się w przedziale między ON i OFF.
czyli jeśli damy ON=68, OFF=68 to będzie ok?
68>66>68. obecnie jest włączony a raczej nie powinien bo warunek nie jest spełniony :?
Załączniki
Zrzut ekranu 2023-06-4 o 08.47.57.jpg
Zrzut ekranu 2023-06-4 o 08.47.57.jpg (55.5 KiB) Przejrzano 336 razy
matrix0606
Posty: 333
Rejestracja: wt lis 08, 2022 9:05 pm

kryczka pisze: ndz cze 04, 2023 7:55 am czyli jeśli damy ON=68, OFF=68 to będzie ok?
68>66>68. obecnie jest włączony a raczej nie powinien bo warunek nie jest spełniony :?
No nie będzie dobrze. Rozpisz sobie to tak:

Kod: Zaznacz cały

68>65>68
65 przyjąłem dla przykładu. Może być to też inna/niższa wartość.
O ile pierwsza część warunku jest spełniona, czyli 68>65 o tyle druga część warunku nie ma prawa się zgadzać. Od kiedy 65>68?
Sprawdź warunek:

Kod: Zaznacz cały

68>wartość kanału>0
W takim przypadku masz warunek, że jeżeli wartość kanału mieści się w przedziale od 0 do 68 to masz grzanie, a wszystko co powyżej niż 68 to się wyłączy.
Jeżeli 68 nie zadziała to na pierwszej pozycji wpisz 69.

Biorę też pod uwagę zupełnie inną kwestię. Skoro w warunku napisano:

Kod: Zaznacz cały

ON>wartość kanału>OFF
to może być taka sytuacja, że wartość wpisana na pozycji ON wyznacza wartość powyżej której coś zostaje włączone, a wartość na pozycji OFF wyznacza kiedy ma się coś wyłączyć. Wówczas może nie będziesz w stanie zrobić tego co Ci potrzebne ponieważ weźmy napiszmy to w warunku, czyli:

Kod: Zaznacz cały

If (ON > wartość_kanału && wartość_kanału > OFF)
{Jakiś_tam_przekaźnik = 1;   //jeśli wartość kanału mieści się w danym przedziale to włącz grzanie
}
else
{Jakiś_tam_przekaźnik = 0;   //w przeciwnym razie granie wyłączone
}
Podstawiając jakieś wartości za ON i OFF mamy:

Kod: Zaznacz cały

If (68 > 60 && 60 > 0)
{Jakiś_tam_przekaźnik = 1;   //jeśli wartość kanału mieści się w danym przedziale to włącz grzanie
}
else
{Jakiś_tam_przekaźnik = 0;   //w przeciwnym razie granie wyłączone
}
Ale patrząc na spełnienie tej zależności to podstawiając za ON=68 i za OFF=0 to będzie się zgadzać i powinno działać jak chcesz, ponieważ jakakolwiek wartość z przedziału 0-68 załączy grzanie a wszystko poniżej 0 i powyżej 68 grzanie wyłączy.
Vivo V21 5G 8G RAM + 4G SWAP
Funtouch OS 12 Global
MOBO - MSI B350 Tomahawk
GPU - GTX1060 6G
CPU - Ryzen5 1400 3,2G
PSU - SPC Vero L2 500W 80 Plus Bronze
RAM - HyperX 2x8GB 3200MHz CL16 Predator RGB
Gitman
Posty: 469
Rejestracja: sob lis 05, 2022 7:52 am
Lokalizacja: Bielawa

Cześć Panowie żeby nie zakładać kolejnego tematu zapytam tutaj. Czy ktoś z szanownych kolegów wie czemu nie działa (nie wykonuje się) warunek dla wyłącz. Dla włącz działa bezbłędnie i za każdym razem dla wyłącz w ogóle, chociaż raz po iluś resetach warunek na wyłącz się wykonał ale bez dotykania i żadnych zmian to się już nie powtórzyło. Pacjent Sonoff basic r2 z czujnikiem ds18b20. Sterowanie grzałką w boilerze przez stycznik, grzałka ma swój własny termostat ale bardzo małą i nie regulowaną histerezę i zbyt często się włącza.
Screenshot_20230607-141131_Samsung Internet.jpg
Screenshot_20230607-141131_Samsung Internet.jpg (460.05 KiB) Przejrzano 192 razy
Pietras81
Posty: 1702
Rejestracja: ndz lut 17, 2019 6:56 am
Lokalizacja: Osielsko

A czemu nie jeden warunek typu włącz przy np 45 a wyłącz przy 48 - wartość kanału mniejsza. (tu by trzeba sprawdzić bo nie pamiętam)
https://pietras-81.aqi.eco/
Gitman
Posty: 469
Rejestracja: sob lis 05, 2022 7:52 am
Lokalizacja: Bielawa

Ok, faktycznie przy użyciu jednego warunku działa, jednak użycie dwóch warunków mniejsze/większe wydawało mi się bardziej logiczne i też powinny działać, niemniej @Pietras81 dzięki za naprowadzanie.
Działa tak jak chciałem załączenie poniżej 45 wyłączenie powyżej 50 tak jak na screenie. Histereza będzie większa ok 20 stopni to co powyżej było do testów teraz mam 60/40
Screenshot_20230607-151038_Samsung Internet.jpg
Screenshot_20230607-151038_Samsung Internet.jpg (176.09 KiB) Przejrzano 178 razy
Pietras81
Posty: 1702
Rejestracja: ndz lut 17, 2019 6:56 am
Lokalizacja: Osielsko

Jedyny minus tego rozwiązania to że w aplikacji świadomie lub przypadkiem można czasami włączyć lub wyłączyć. Wiem można wogole w cloud wyłączyćzeby nie było w apce ale jak ma być podgląd w apce to jest ryzyko.
https://pietras-81.aqi.eco/
ODPOWIEDZ

Wróć do „Ogólna dyskusja”