# Schedule
Schedule
O
V
# 出力
| ID | 略称 | 名前 | 型 | デフォルト | 説明 |
|---|---|---|---|---|---|
output | O | output | BOOLEAN | false | |
value | V | value | NUMBER | 0 |
# 設定
| ID | 名前 | 型 | デフォルト | 単位 | 説明 |
|---|---|---|---|---|---|
schedule | schedule | SCHEDULE | 0 | 詳細: サブタイプ: ON_OFF |
# 状態
| ID | 名前 | 型 | デフォルト | 単位 | 説明 |
|---|---|---|---|---|---|
last_activation_ts | last_activation_ts | NUMBER | 0 | s | |
next_activation_ts | next_activation_ts | NUMBER | 0 | s |
# ソースコード
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))
# スケジュールの使い方
Schedule ブロックは ON/OFF タイプのスケジュールを使用し、24時間の日次サイクルで動作します。現在時刻が有効なエントリの範囲内にあるとき、デジタル出力 (O) は true となり、アナログ出力 (V) にはエントリの数値が出力されます。どのエントリにも該当しない時間帯では、両出力はデフォルト値に戻ります。
スケジュール自体は曜日を区別しません。平日、週末、祝日、その他任意の状況で動作を変えるには、Schedule ブロックを Operation Modes と組み合わせます。ユーザー定義のモードにより、固定の週間グリッドに縛られずに自由に制御できます。
スケジュールは Voldeno Studio のビジュアルタイムラインエディタで設定します。エディタは24時間軸をデフォルトで30分グリッド表示しますが、1分単位の精度にも対応しています。
スケジュールの種類とビジュアルエディタの詳細は Voldeno Studio — スケジュール を参照してください。
