# Schedule
Przełącznik czasowy z dowolnie regulowanym harmonogramem.
# Wyjścia
| ID | Skrót | Nazwa | Typ | Domyślnie | Opis |
|---|---|---|---|---|---|
output | O | Wyjście | BOOLEAN | false | Wyjście cyfrowe: aktywne gdy wpis harmonogramu jest włączony |
value | V | Wartość | NUMBER | 0 | Wyjście analogowe: wartość z bieżącego wpisu harmonogramu |
# Konfiguracja
| ID | Nazwa | Typ | Domyślnie | Jednostka | Opis |
|---|---|---|---|---|---|
schedule | Harmonogram | SCHEDULE | 0 | Harmonogram do użycia dla aktywacji opartej na czasie Szczegóły: Podtyp: ON_OFF |
# Stan
| ID | Nazwa | Typ | Domyślnie | Jednostka | Opis |
|---|---|---|---|---|---|
last_activation_ts | Ostatni znacznik czasu wykonania | NUMBER | 0 | s | Ostatni znacznik czasu wykonania |
next_activation_ts | Następny znacznik czasu wykonania | NUMBER | 0 | s | Następny znacznik czasu wykonania |
# Kod źródłowy
Pokaż kod Volang
extern fn std::next_activation_at() {
// execute immediately after initialization
// then follow the schedule entries edges
if (state::get("next_activation_ts") == 0 and state::get("last_activation_ts") == 0) {
// wait 10 seconds for all modules to reach steady state
// TODO: remove the 10 seconds delay after SOF-431 is resolved
return time::now() + 10
}
schedule_id = config::get("schedule")
return schedule::get_next_activation_ts(schedule_id)
}
schedule_id = config::get("schedule")
output::set("output", schedule::get_entry_type(schedule_id) > 0)
output::set("value", schedule::get_entry_value(schedule_id))
# Praca z harmonogramami
Blok Harmonogram wykorzystuje harmonogram typu WŁ/WYŁ obejmujący 24-godzinny cykl dzienny. Gdy bieżący czas mieści się w aktywnym wpisie, wyjście cyfrowe (O) przyjmuje wartość true, a wyjście analogowe (V) przekazuje wartość liczbową wpisu. Poza wpisami oba wyjścia wracają do wartości domyślnych.
Harmonogram sam w sobie nie rozróżnia dni tygodnia. Aby zróżnicować zachowanie między dniami roboczymi, weekendami, świętami czy dowolną inną sytuacją, połącz blok Harmonogram z Trybami pracy — definiowanymi przez użytkownika trybami, które dają pełną swobodę bez ograniczania do stałej siatki tygodniowej.
Harmonogramy konfiguruje się za pomocą wizualnego edytora osi czasu w Voldeno Studio. Edytor wykorzystuje oś 24-godzinną z domyślną siatką 30-minutową, ale obsługuje dokładność do pojedynczej minuty.
Kompletny opis typów harmonogramów i edytora wizualnego znajdziesz w Voldeno Studio – Harmonogramy.
