Szmery Bajery cz.2 - zaawansowany zegar astronomiczny z korektą

  • 7 Odpowiedzi
  • 2260 Wyświetleń

0 użytkowników i 1 Gość przegląda ten wątek.

*

Offline homelogic

  • Moderator
  • ***** 341
  • 11
    • Zobacz profil
  • Nazwa i wersja ID: Loxone + Ampio + Delta Dore + Grenton + KNX
Szmery Bajery cz.2 - zaawansowany zegar astronomiczny z korektą
« dnia: Lipiec 26, 2015, 09:53:15 pm »
Tym razem będzie coś ciut trudniejszego, czyli przykład budowania funkcjonalności gdy nie mamy gotowca.

Generalnie zegar astronomiczny jest jedną z głównych funkcji wykorzystywanych w większości systemów. Loxone nie jest tutaj wyjątkiem i na dzień dobry mamy do wykorzystania kilka gotowych klocków:
- Impuls o świcie
- Impuls o wschodzie
- Impuls o zmierzchu
- Impuls o zachodzie
- Stan wysoki przy świetle dziennym
- Stan wysoki przy świetle dziennym (+30 minut z każdej strony)

Przy okazji, dla dociekliwych. Pogooglajcie sobie czym się różni świt od wschodu i zmierzch od zachodu. Jak zwykle twórcy Loxone wykazali się porządnym podejściem do tematu. I za to kocham ten system.


Tutaj mamy screen z dostępnych funkcji "czasowych":




Każdy z powyższych klocków można wykorzystać w dowolny sposób w programie konfiguracyjnym, wystarczy drag&drop i mamy. Tyle że to nadal dla mnie było trochę mało. Lubię sobie utrudniać ;)


Założenia zaawansowanego zegara:

- Dwa oddzielne zegary dla rolet i świateł
- Każdy sygnał rano i wieczorem (dla rolet i świateł) ma mieć możliwość wprowadzenia korekty +/- 120 minut w prosty sposób za pomocą wizualizacji
- Użytkownik ma mieć informację w wizualizacji o której wystąpi dany sygnał po korekcie.
- Jako bonus ma być informacja o aktualnym trybie w którym znajduje się dany zegar (noc/dzień) oraz możliwość manualnego przełączenia (w celach testowych).

I tak powyższa funkcjonalność wygląda w wizualizacji:



Jak widać na przykładzie godziny "światła - świt", rózni się on od "rolety - świt" dokładnie o 100 minut. Proste i łatwe w obsłudze. Użytkownik sam sobie ustawia wg. własnego widzimisię.

Jak to zostało zbudowane? Przede wszystkim zamiast sygnałów na świt i zmierzch wykorzystaliśmy inne, dostępne klocki:

- Aktualna liczba minut które upłynęły od północy obecnego dnia
- Minuty od północy do świtu danego dnia
- Minuty od północy do zmierzchu danego dnia.

Reszta jest kwestią prostego dodawania, odejmowania oraz przeliczania liczby minut od północy na format standardowej godziny (HH:MM). Dodatkowo trzeba wrzucić klocki które umożliwią userowi klikanie +/-, czyli wejście wirtualne oraz stany wyświetlające odpowiednie wartości. Tak to wygląda w programie konfiguracyjnym:




Wygląda to kosmicznie na pierwszy rzut oka, ale tak naprawdę jest bardzo proste. Przede wszystkim mamy tutaj komplet, czyli zmierzch + świt dla rolet + świateł. Dla uproszczenia, pojedyńcza "gałąź" (zmierzch dla świateł) wygląda tak:



- Na zielono zaznaczone są bloczki które widzi użytkownik w wizualizacji. Czyli przyciski oraz stany.
- Na fioletowo zaznaczone są klocki czasowe oraz stała = 60 do przeliczania minut na godziny.
- Na pomarańczowo są zaznaczone zmienne (flagi) które przechowują dany stan (1 dla dnia, 0 dla nocy). Flagi możemy potem dowolnie wykorzystać w projekcie.

Czyli po kolei, co się dzieje, na przykładzie zmierzchu dla rolet:

1. Do wartości analogowej "time of dusk" jest dodawana liczba którą sobie user wyklika na wizualizacji (korekta...).
2. Wynik rozdziela się na trzy ścieżki ścieżki:
    a) Godziny - wynik dodania jest dzielony przez 60 i zamieniany na liczbę całkowitą. Liczba całkowita trafia do pierwszego wejścia bloczka stanu (I1) oraz do pierwszego wejścia bloczka wzoru (formula; I1).
    b) Minuty - wynik dodania trafia do drugiego wejścia bloczka wzoru. Wynik działania [(I2)-(I1*60)] trafia do drugiego wejścia bloczka stanu (formula; I2).
    c) Porównanie - wynik dodawania jest porównywany z ilością minut od północy do wystąpienia zmierzchu.
3. Gdy ilość minut od północy = wynik dodawania, to idzie sygnał na wejście reset bloczka przycisku, który jest spięty z flagą oraz stanem (dzień/noc) na wizualizacji.
4. Koniec ;)



Wykorzystanie zegara do zaawansowanego sterowania roletami

Jedziemy dalej. Zmienną przechowywaną we fladze wykorzystujemy potem do załączania lub wyłączania bloczków rolet czy świateł. Możemy też wykorzystać go do zbudowania prostej logiki korzystającej z dodatkowego harmonogramu oraz bloczka centralnego sterowania. Oto założenia:

Użytkownik za pomocą wizualizacji określa za pomocą harmonogramu czasy otwarcia i zamknięcia rolet (np. 6-22 w tygodniu, 8-22 w weekend). Rolety otworzą się o zadanej godzinie (6 lub 8 ) ale tylko w przypadku gdy jest już jasno. Rolety zamkną się jak będzie ciemno ale najpóźniej o zadanej godzinie (22). Czas "jasności" korzysta z sygnałów zegara astronomicznego po korekcie, opisanego powyżej.

Tak powyższa funkcjonalność wygląda w konfiguracji:



Jak to działa? Mamy naszą flagę przechowującą stan dnia/nocy. Dokładamy gotowy bloczek harmonogramu, dzięki któremu user w wizualizacji określi dowolny harmonogram tygodniowy. Wynik działania bloczka harmonogramu (wystawia stan wysoki w zdefiniowanych okresach) oraz naszą flagę łączymy do wejść bramki AND.
W następnym kroku musimy przekształcić stan wysoki/niski na impulsy (zbocze narastające/opadające). Do takiego przekształcania służy bloczek "Push switch". Impulsy łączymy do odpowiednich wejść bloczka rolet (Cu = całkowicie w górę, Cd = całkowicie w dół). Gotowe.

Tryb "lamelki"

Oczywiście nie musimy na tym poprzestać. Każdy bloczek rolet posiada również wejście S, które odpala rolety w trybie lamelek (rozszczelnienie). Dzięki temu możemy w prosty sposób zbudować funkcję tzw. łagodnego wybudzania, czyli rolety najpierw się rozszczelnią, a potem, po zadanym przez usera czasie otworzą się całkowicie. Tak to wygląda w konfiguracji:



Sygnał z wyjścia Qon (zbocze narastające) trafia do wejścia S (lamelki) co powoduje rozszczelnienie rolet. Jednocześnie trafia do bloczka "Delayed pulse". Opóźnienie (czas między trybem lamelek a całkowitym otwarciem rolet) jest definiowane przez usera w wizualizacji za pomocą wejścia wirtualnego. Odpowiednio opóźniony impuls trafia potem do wejścia Cu (całkowicie w górę).

Przy okazji, tak wygląda bloczek harmonogramu w wizualizacji:





« Ostatnia zmiana: Lipiec 26, 2015, 10:00:24 pm wysłana przez homelogic »
*

Offline andrzey

  • ** 85
  • 2
    • Zobacz profil
Odp: Szmery Bajery cz.2 - zaawansowany zegar astronomiczny z korektą
« Odpowiedź #1 dnia: Sierpień 14, 2015, 04:00:55 pm »
http://suncalc.net Fajny serwis do sprawdzenia jak świeci słońce.


PS. Świetne wpisy, czekamy na więcej :)
*

Offline Damin

  • * 8
  • 0
    • Zobacz profil
  • Nazwa i wersja ID: DaminLxn
Odp: Szmery Bajery cz.2 - zaawansowany zegar astronomiczny z korektą
« Odpowiedź #2 dnia: Grudzień 28, 2015, 09:16:48 pm »
Rozpiska szacunek, jak dla mnie trochę skomplikowana.
Czy można by dostać jakiś przykład z tego posta(zegar astronomiczny)?

Potrzebuje funkcji zegara astronomicznego do załączania oświetlenia zewnętrznego wyzwalanego z domofonu.
Rygiel domofonu jest podłączony do przekaźnika który załącza wejście Loxona, wyście ma natomiast załączyć oświetlenie na określony czas np. 3min.
 
Czyli ZMROK + OTWARCIE FURTKI (wejście I1 LOXONE) = załącz przekaźnik Q1.
Czyli DZIEŃ + OTWARCIE FURTKI (wejście I1 LOXONE) = nie załączaj przekaźnika Q1.

Teraz mam zrobione to na harmonogramie i logice, jakoś nie mogłem sobie poradzić inaczej.
Z góry dziękuję za pomoc
Damian
*

Offline homelogic

  • Moderator
  • ***** 341
  • 11
    • Zobacz profil
  • Nazwa i wersja ID: Loxone + Ampio + Delta Dore + Grenton + KNX
Odp: Szmery Bajery cz.2 - zaawansowany zegar astronomiczny z korektą
« Odpowiedź #3 dnia: Grudzień 29, 2015, 01:14:47 am »
Od logiki nie uciekniesz ;)

Sygnały z zegara masz tutaj w głównym drzewie:




Polecam użyć "Daylight" lub "Daylight 30min". Najprostsze rozwiązanie, szczególnie jak nie chcemy się bawić flagami i kombinować z przekształcaniem impulsów w stany. Obiekt jest włączony od świtu do zmierzchu i można go użyć wielokrotnie w projekcie. Działa w miarę optymalnie, tj. albo jeden albo drugi pasuje większości ludzi w ich percepcji czym jest zmierzch i świt, czyli kiedy włączyć i wyłączyć światło czy zamknąć rolety. Niektórzy jednego używają do świateł, a drugiego do rolet.

Sygnał przepuszczasz przez bramkę negacji (chcesz aby układ działał w nocy) i podpinasz do pierwszego wejścia bramki koniunkcji. Do drugiego wejścia bramki podpinasz sygnał z wejścia I1. Na wyjściu bramki podpinasz przekaźnik Q1 i masz gotowe:




Zamiast bramki negacji można też zanegować sygnał bezpośrednio na wejściu, poprzez kliknięcie na nazwie wejścia (powinno się zaznaczyć na czerwono):

*

Offline Damin

  • * 8
  • 0
    • Zobacz profil
  • Nazwa i wersja ID: DaminLxn
Odp: Szmery Bajery cz.2 - zaawansowany zegar astronomiczny z korektą
« Odpowiedź #4 dnia: Grudzień 31, 2015, 12:29:50 pm »
Działa, bardzo dziękuje za pomoc.
Szukałem rozwiązania a tu prosto i najważniejsze że działa.
Kompetentna pomoc.
*

Offline homelogic

  • Moderator
  • ***** 341
  • 11
    • Zobacz profil
  • Nazwa i wersja ID: Loxone + Ampio + Delta Dore + Grenton + KNX
Odp: Szmery Bajery cz.2 - zaawansowany zegar astronomiczny z korektą
« Odpowiedź #5 dnia: Grudzień 31, 2015, 06:53:21 pm »
Zapomniałem dodać, że sygnał na przekaźnik powinien iść przez bloczek funkcji "przedłużony impuls" (Program->Czas). Tam ustawiamy czas podtrzymania w sekundach.

Dosiego roku :)
*

Offline jezikk

  • * 10
  • 0
    • Zobacz profil
  • Nazwa i wersja ID: KNX+ Loxone
Odp: Szmery Bajery cz.2 - zaawansowany zegar astronomiczny z korektą
« Odpowiedź #6 dnia: Styczeń 12, 2018, 09:40:24 am »
@Homelogic

Mam pytanie o to jak sobie poradziłeś z problem ze po zaprogramowaniu/restarcie loxone flaga dzień sie resetuje i system myśli ze jest noc co powoduje np zalaczenie swiateł zewn ?
*

Offline homelogic

  • Moderator
  • ***** 341
  • 11
    • Zobacz profil
  • Nazwa i wersja ID: Loxone + Ampio + Delta Dore + Grenton + KNX
Odp: Szmery Bajery cz.2 - zaawansowany zegar astronomiczny z korektą
« Odpowiedź #7 dnia: Styczeń 15, 2018, 04:43:29 pm »
Stan flagi startuje od zera tylko przy hard resecie serwera, np. przy przeprogramowaniu. Flaga wraca do prawidłowego stanu przy impulsie z zegara astronomicznego.
Można to olać i po prostu wyłączyć dane światła po resecie. Ja w tym przypadku mam zrobiony wirtualny przycisk w apce który klika impuls - dostepny dla usera Admin.