Skip to content

yearly-timer

Opis

Bloczek yearly-timer służy do tworzenia rocznego programu czasowego. Działa według lokalnego czasu urządzenia ustawionego w głównym kalendarzu systemu, a jego wejście pozwala włączać i wyłączać harmonogram.

Bloczek pozwala ustawić jedną aktywną ramę roczną: datę i godzinę rozpoczęcia oraz datę i godzinę zakończenia. Bloczek jest aktywny, gdy aktualny lokalny czas mieści się w tej ramie i kalendarz jest włączony.

Zakres roczny może przechodzić przez nowy rok. Dla przykładu zakres od 01.12 10:00 do 15.01 15:00 jest aktywny od 1 grudnia 10:00:00, przez koniec roku, do 15 stycznia 15:00:59.

Końcowa minuta przedziału jest wliczana do aktywności, a zmiana stanu następuje po jej zakończeniu. Data 29 lutego nie może zostać ustawiona jako data rozpoczęcia ani zakończenia. Jeżeli rzeczywisty rok jest przestępny, dzień 29 lutego jest obsługiwany jako normalny dzień pomiędzy 28 lutego i 1 marca.

Domyślna konfiguracja obejmuje cały rok: od 01.01 00:00 do 31.12 23:59.

Bloczek ma powiązane urządzenie vlogic dostępne w aplikacji mobilnej. Z aplikacji można włączać i wyłączać kalendarz, edytować zakres roczny oraz obserwować bieżący stan pracy. Zmiana stanu włączenia z aplikacji mobilnej jest nietrwała: obowiązuje do następnej poprawnej zmiany z wejścia lub aplikacji albo do przeładowania projektu. To urządzenie nie jest dostępne z poziomu aplikacji WWW.

Parametry konfiguracyjne

Nazwa parametru Wartość
Nazwa (name) Opcjonalna nazwa widoczna w aplikacji mobilnej.
Wersja ustawień (json_settings_version) Numer wersji konfiguracji używany przy synchronizacji ustawień z aplikacją mobilną.
Miesiąc rozpoczęcia (startMonth) Miesiąc rozpoczęcia zakresu, od 1 do 12.
Dzień rozpoczęcia (startDay) Dzień miesiąca rozpoczęcia zakresu. Data musi istnieć w roku nieprzestępnym.
Godzina rozpoczęcia (startHour) Godzina rozpoczęcia w formacie HH:MM, od 00:00 do 23:59.
Miesiąc zakończenia (endMonth) Miesiąc zakończenia zakresu, od 1 do 12.
Dzień zakończenia (endDay) Dzień miesiąca zakończenia zakresu. Data musi istnieć w roku nieprzestępnym.
Godzina zakończenia (endHour) Godzina zakończenia w formacie HH:MM, od 00:00 do 23:59.

Moment rozpoczęcia i moment zakończenia muszą być różne. Ustawienie tej samej daty i godziny początku oraz końca powoduje błąd konfiguracji.

Obsługa wejścia

Bloczek yearly-timer ma jedno wejście sterujące bieżącym stanem włączenia harmonogramu.

Jeżeli wejście nie jest podłączone, po uruchomieniu projektu harmonogram jest włączony. Jeżeli do wejścia jest podłączone co najmniej jedno źródło, harmonogram rozpoczyna pracę jako wyłączony. Poprawna wartość inicjalizacyjna wysłana przez źródło może od razu zmienić ten stan. Jeśli podłączone źródła nie wyślą żadnej wartości, harmonogram pozostaje wyłączony.

Wejście obsługuje wyłącznie ścisłe wartości logiczne: true włącza harmonogram, a false go wyłącza. Wartości liczbowe, tekst, null oraz komendy set i reset wysłane z bloczka command są ignorowane. Ponowne wysłanie wartości zgodnej z bieżącym stanem nie powoduje żadnej reakcji.

Do wejścia można podłączyć wiele źródeł. Bloczek nie łączy ich stanów — obowiązuje ostatnia odebrana poprawna wartość logiczna. Zmiana wykonana z aplikacji mobilnej podlega tej samej regule, więc ostatnia poprawna zmiana z wejścia albo aplikacji wyznacza bieżący stan. Po przeładowaniu projektu stan jest ponownie ustalany wyłącznie na podstawie obecności połączenia wejściowego.

Wyjścia bloczka

Numer i nazwa wyjścia Opis wyjścia
1. praca Zwraca true, gdy aktualny lokalny czas mieści się w skonfigurowanym zakresie rocznym i kalendarz jest włączony. W przeciwnym przypadku zwraca false.
2. przerwa Zwraca wartość przeciwną do wyjścia nr 1.
3. czy kalendarz jest włączony Zwraca bieżący, efektywny stan włączenia harmonogramu.

Gdy kalendarz jest wyłączony, wyjście praca zwraca false, wyjście przerwa zwraca true, a wyjście czy kalendarz jest włączony zwraca false.

Błędy widoczne dla użytkownika

Bloczek może pokazywać następujące komunikaty błędów:

Kod błędu Opis błędu
Missing json_settings_version configuration. Brakuje numeru wersji ustawień.
Invalid json_settings_version configuration. Numer wersji ustawień ma niepoprawną wartość.
Invalid start date configuration. Data rozpoczęcia jest niepoprawna, na przykład zawiera nieistniejący dzień miesiąca albo 29 lutego.
Invalid start time configuration. Godzina rozpoczęcia ma niepoprawną wartość. Należy podać godzinę w formacie HH:MM, z zakresem od 00:00 do 23:59.
Invalid end date configuration. Data zakończenia jest niepoprawna, na przykład zawiera nieistniejący dzień miesiąca albo 29 lutego.
Invalid end time configuration. Godzina zakończenia ma niepoprawną wartość. Należy podać godzinę w formacie HH:MM, z zakresem od 00:00 do 23:59.
Start date and time equals end date and time. Moment rozpoczęcia i moment zakończenia są identyczne.

Przykłady działania

  • Zakres 01.04 08:30-30.09 17:45 aktywuje wyjście praca od 1 kwietnia 08:30:00 do 30 września 17:45:59.
  • Zakres 01.12 10:00-15.01 15:00 przechodzi przez nowy rok i aktywuje wyjście praca od 1 grudnia 10:00:00 do 15 stycznia 15:00:59.
  • Zakres 01.01 00:00-31.12 23:59 utrzymuje praca = true przez cały rok, także w realnym dniu 29 lutego w roku przestępnym.
  • Bez połączenia wejściowego harmonogram uruchamia się jako włączony.
  • Po podłączeniu wejścia harmonogram uruchamia się jako wyłączony i pozostaje wyłączony, jeżeli źródło nie wyśle wartości.
  • Wartość true włącza harmonogram, a false go wyłącza.
  • Wartość liczbowa, tekst, null oraz komendy set i reset nie zmieniają stanu harmonogramu.
  • Jeżeli dwa źródła wyślą kolejno true i false, obowiązuje ostatnia wartość, czyli harmonogram pozostaje wyłączony.
  • Zmiana z aplikacji mobilnej obowiązuje do następnej poprawnej zmiany z wejścia lub aplikacji albo do przeładowania projektu.
  • Gdy harmonogram jest wyłączony, praca = false i przerwa = true niezależnie od ustawionego zakresu rocznego.