タイムテーブル
概要と主要な概念
タイムテーブルは、モデル内の特定のオブジェクトのダウン時間(状態変更など)をスケジュールするために使用します。各タイムテーブルは多くのオブジェクトを制御することができ、各オブジェクトは多くのタイムテーブルによって制御されます。モデルには、任意の数のタイムテーブルを含めることができます。
タイムテーブルはツールボックスからアクセスできます。
ダウン期間
タイムテーブルオブジェクトの主な目的は、モデル内のオブジェクトのダウン時間の予定期間を定義することです。このダウン期間は、ダウン時間と期間という2つの数値によって定義されます。ダウン期間は、指定されたダウン時間に始まり、モデル時間単位で指定された期間が終わるまで続きます。[機能]タブ上の機能によって、各ダウン期間の始まりと終わりに[メンバー]タブに表示されたオブジェクトに何が起きるかを制御できます。
便宜上、1日または1週間の終わりで折り返すダウン期間で作業中は、タイムテーブルが、同じ状態と状態プロファイルを設定する連続ダウン期間と同じダウン動作を使用する連続ダウン期間のどちらかを結合します。たとえば、週単位のスケジュールでは、月曜日の午後10時から午前12時までのダウン期間が、状態/ダウン動作が同じであれば、火曜日の午前12時から午前2時までのダウン時間と結合されます。
関数
タイムテーブルがダウン時間に達すると、2組の関数が呼び出されます。まず、Down関数が起動します。これは、タイムテーブルの各メンバーに対して1回ずつ実行されます。これにより、関連付けられたオブジェクトを停止したり、TaskExecuterを指定された場所に送信したりできます。すべてのDown関数が起動した後、ダウン時機能が1回起動します。ダウン時機能は、メンバーのリストと、ダウン時間に関連付けられたテーブル行を渡します。
ダウン期間の最後で、再開関数のセットが呼び出されます。まず、再開関数が起動します。これは、タイムテーブルの各メンバーに対して1回ずつ実行されます。これにより、関連するオブジェクトを再開したり、オブジェクトに対する入力を再開したりできます。すべての再開関数が起動した後、再開時機能が1回起動します。再開時機能は、メンバーのリストと、ダウン時間に関連付けられたテーブル行を渡します。
停止状態と状態プロファイル
ダウン時間ごとに、メンバーがそのダウン中に移動する状態と状態プロファイルを指定できます。これらの値は、ダウン関数と再開関数でデフォルトで見つかるstopobject()コマンドとresumeobject()コマンドで使用するように設計されています。1つのオブジェクトは複数のタイムテーブルに関連付けられ、複数回停止できます。各オブジェクトは、停止するたびに一連の状態を保存するため、オブジェクトを再開して後続の一連の状態に戻すことができます。
ダウン動作
ダウン期間は、必要に応じて、ダウン動作に関連付けることもできます。ダウン動作が指定されている場合は、ダウン関数と再開関数がタイムテーブル自体ではなくダウン動作で呼び出されます。これにより、複数のタイムテープル間で共有可能なさまざまな種類のダウンイベントを定義することができます。また、同じタイムテーブル内のダウン期間を別々に開始することもできます。詳細については、「ダウン動作」を参照してください。
モード
[タイムテーブル]では、非繰り返し/繰り返しスケジュールや日時に基づくスケジュールが可能なさまざまなモードで設定できます。[毎日繰り返し]、[毎週繰り返し]、[日付ベース]のすべてのモードは実行時間ツールで定義されているモデル開始日時を使用します。
- なし モードが[なし]に設定されている場合、テーブルに記載されている時間はモデル時間単位に基づく絶対時間です。スケジュールは繰り返されません。
- 毎日繰り返し タイムテーブルを毎日繰り返すように設定した場合は、(実行時間ツールで定義されている)モデル開始時間が有効になりません。たとえば、モデル開始時間が08:00:00 AMに設定されていて、グラフィカルテーブルが上の表のようになっている場合、タイムテーブルのメンバーは稼働状態でモデルを開始し、関数は起動しません。ただし、モデル開始時間を07:00:00AMに変更した場合、モデルをリセットして実行すると、Down関数が起動し、メンバーは停止状態で開始します。1時間後(モデル時間単位に基づいて、モデル時間が秒に設定されている場合は3600秒)、Resume関数が起動し、メンバーは稼働時間を開始します。
- 毎週繰り返しタイムテーブルを毎週繰り返すように設定すると、タイムテーブルでモデルの開始曜日も考慮される点を除いて、「毎日繰り返し」と同様に動作します。モデル開始時間(実行時間ツールで定義されている)が火曜日の08:00:00 AMに開始し、タイムテーブルが上の値に設定されている場合、タイムテーブルは月曜日の内容をすべてスキップし、タイムテーブルのメンバーが稼働を開始する火曜日の08:00:00 AMにジャンプします。モデル時間が金曜日の05:00:00 PMに達すると、メンバーはダウンし、タイムテーブルが再開する月曜日の08:00:00 AMまでダウンし続けます。
- カスタム繰り返し カスタム繰り返しモードは、テーブルの繰り返し時間を指定できるオプションがある点を除いて、[なし]モードに似ています。
- 日付ベース 日付ベースモードでは、各ダウン時間が特定の日付に関連付けられているダウン時間を設定できます。これらの日付は、モデル開始日時(実行時間ツールで定義されている)とタイムテーブルの開始日時に基づいています。このモードは繰り返されませんが、繰り返しイベントを作成することはできます。
一般設定
次の一般設定を使用できます。
名前
タイムテーブルの名前。コンボボックスにはモデル内のすべてのタイムテーブルのリストがあるため、異なるタイムテーブルにすばやくジャンプできます。
有効
タイムテーブルが、タイムテーブルのすべてのメンバーのダウン時間を実行するかどうかを指定します。実験ツールでは、さまざまなシナリオでタイムテーブルを有効または無効にできます。
アイコン | 説明 |
---|---|
タイムテーブルをドラッグ可能アイコンまたは自動インストールコンポーネントとしてユーザーライブラリに追加します。 |
[メンバー]タブ
[メンバー]タブには、次のプロパティがあります。
アイコン | 説明 |
---|---|
これにより、モデル内の複数のオブジェクトを選択できるオブジェクト選択GUIが開きます。 | |
クリックするとモデル内の任意のオブジェクトがサンプリングされ、メンバーとして追加されます。 | |
選択したメンバーをリストから削除します。 | |
メンバーをリストの上または下に並べ替えます。 | |
3Dビューをリストから選択したメンバーの中央に配置します。 | |
リストから選択したメンバーを選択します(赤色の枠が表示されます)。 |
[機能]タブ
[機能]タブには、次のプロパティがあります。
ダウン関数
このピックリストは、メンバーリスト内のオブジェクトがダウンすると実行されます。これは、メンバーリスト内のオブジェクトごとに1回実行されます。ここでは、オブジェクトを停止するために何をするかを指定します。
再開関数
このピックリストは、メンバーリスト内のオブジェクトがオペレーションを再開すると実行されます。これは、メンバーリスト内のオブジェクトごとに1回実行されます。ここでは、オブジェクトを再開するために何をするかを指定します。
ダウン時
このピックリストは、すべてのオブジェクトに対してDown関数が起動された直後に起動しますが、メンバーリスト内のオブジェクトごとに1回ではなく、1回だけ実行されます。
再開時
このピックリストは、すべてのオブジェクトに対してResume関数が実行された直後に起動しますが、メンバーリスト内のオブジェクトごとに1回ではなく、1回だけ実行されます。
[テーブル]タブ
[テーブル]タブには、次のプロパティがあります。
一般的コントロール
- モード - [タイムテーブル]、[なし]、[毎日繰り返し]、[毎週繰り返し]、[カスタム繰り返し]、または[日付ベース]のモードを指定します。
- グラフィカル/テーブル - グラフィカルエディタとテーブルエディタを切り替えます。
- - このボタンは、モデルのExcelインポーターにテーブルを追加します。インポートされたテーブルは、テーブル(時間、状態、期間、プロファイル、DownBehaviour)の形式をとります。
テーブルエディタ
テーブルエディタには、次のプロパティがあります。
- 行 - テーブル内の行数です。
- テーブル - 各行には次の情報が記録されます。
- 時間 - テーブルが開始されてから状態の変化が発生するまでの時間です。モードが[なし]に設定されている場合、テーブルは繰り返されないため、[時間]列に表示される時間は絶対時間になります。
- 状態 - このテーブルでコントロールされるオブジェクトが、タイムテーブルがダウンするように指示したときに変更される状態です。この列をクリックすると、上部にドロップダウンボックスが表示され、可能性のある状態のリストが表示されます。各状態がそれぞれのオブジェクトに対して持つ意味の詳細については、3Dオブジェクト参照を参照してください。各状態の番号とマクロ定義のクイックリファレンスについては、状態リストを参照してください。
- 期間 - オブジェクトが元の状態に戻る前に新しい状態に留まる期間です。
- プロファイル - 停止状態が関連付けられている状態プロファイルです。この列をクリックすると、上部にドロップダウンボックスが表示され、可能性のある状態プロファイルのリストが表示されます。状態プロファイルを変更すると、[状態]列ドロップダウンが更新されます。
- DownBehaviour - これはエントリと一緒に使用されるダウン動作です。この列をクリックすると、上部にドロップダウンボックスが表示され、可能性のあるダウン動作のリストが表示されます。NULLのダウン動作では、[関数]タブで定義された動作が使用されます。
- リピート時間 - タイムテーブルを繰り返す時間をモデル時間単位で指定します。
グラフィカルテーブル
グラフィカルテーブルには、次のプロパティがあります。
- スナップ先 - ビューでエントリをスナップする時間を指定します。あらかじめ設定した10分、15分、30分、1時間を指定することも、独自のカスタムスナップ先時間を設定することもできます。カスタム時間はモデルの時間単位です。
- カレンダー開始 - タイムテーブルの開始日時を指定します。開始時間の前に発生したイベントは起動しませんが、データはそのまま残ります。必要であれば、タイムテーブルの一部を一時的にオフにできます。
- 色 - イベントに色を付けるラベルを選択します。イベントの色は
Color.byNumber(labelValue)
またはcolor(labelValue)
に等しくなります。 - 開始 - 選択したエントリの開始日時。
- 終了 - 選択したエントリの終了日時。
- 期間 - 選択したエントリの期間。形式はDD:HH:MM:SSです。
- 繰り返しイベント - チェックボックスをオンにすると、イベントは繰り返しイベントになります。ここでは、繰り返しの発生頻度と繰り返し回数、または繰り返す日時を定義できます。
- - 繰り返しイベントのプロパティを表示します。
- - 選択したイベントが繰り返しイベントに含まれるが親イベントではない場合、ビューの中心に親イベントが配置され、選択されます。
- 状態プロファイル - 選択したエントリの停止状態の状態プロファイルを指定します。
- 停止状態 - 選択したエントリに対してメンバーが移動する状態を指定します。
- ダウン動作 - 選択したエントリで使用されるダウン動作を指定します。NULLのダウン動作では、[関数]タブで定義された動作が使用されます。
グラフィカルテーブルを使用する:
- エントリを作成 - 空いている任意の場所をクリックしてドラッグし、新しいダウン時間を作成します。スナップ先時間にスナップします。
- エントリを変更 - エントリの中央をクリックしてドラッグし、エントリの開始時間を変更します。左右にドラッグして週に沿って時間を変更するか、上下にドラッグして週を変更します。期間を変更するには、エントリの左端または右端をクリックしてドラッグします。スナップ先時間にスナップします。開始時間、終了時間、期間はエディタビューの下にあるプロパティからも変更できます。
- 週を選択 - [日付]列の下でビューの左側に沿ってクリックしてドラッグし、エントリの週を選択します。選択した週に開始時間があるエントリが選択されます。
- 拡大 - Ctrlキーを押しながらスクロールホイールを使用してマウスの位置を拡大します。
- スクロール - スクロールホイールを使用して、ビュー内を上下にスクロールします。
- 水平スクロール - Shiftキーを押しながらスクロールホイールを使用して左右にスクロールします。
- 一番下のスクロールバー - 一番下のスクロールバーをクリックしてドラッグすると、ズームイン/ズームアウト、左右にスクロールできます。
- コピーへドラッグ - Ctrlキーを押しながらエントリをクリック&ドラッグしてコピーを作成します。
- Ctrl + C - 選択したエントリをコピーします。
- Ctrl + X - 選択したエントリを切り取ります。
- Ctrl + V - 選択したエントリを貼り付けます。エントリを1つコピーして貼り付けるとき、カーソル位置の下に貼り付けられます。週全体が選択されると、開始時間と週の開始の関係を維持したままカーソル位置の週に基づいてエントリが貼り付けられます。
- 矢印キー - エントリまたはエントリの週を選択し、上下左右キーを利用して[スナップ先]時間に基づいてエントリ開始時間を調整します。
イベント
ダウン関数
このイベントは、テーブルがダウン時間に達するとメンバーごとに1回起動します。
次のパラメータがあります。
イベントパラメータ | タイプ | 説明 |
---|---|---|
ダウンオブジェクト | オブジェクト | ダウンするオブジェクト |
状態 | 整数 | オブジェクトの次の状態 |
テーブル行 | 整数 | テーブルのこのダウンタイムに対応する行 |
期間 | 倍精度浮動小数点数 | ダウンタイムの継続時間 |
状態プロファイル | 整数 | 更新されるオブジェクトの状態プロファイル |
再開関数
このイベントは、テーブルがダウン時間を停止するとメンバーごとに1回起動します。
次のパラメータがあります。
イベントパラメータ | タイプ | 説明 |
---|---|---|
ダウンオブジェクト | オブジェクト | ダウンしていて現在再開しているオブジェクト |
状態 | 整数 | オブジェクトの前の状態 |
テーブル行 | 整数 | テーブルのこのダウンタイムに対応する行 |
状態プロファイル | 整数 | 更新されるオブジェクトの状態プロファイル |
ダウン時
このイベントは、Down関数がすべてのメンバーに対して起動した後に1回発生します。
次のパラメータがあります。
イベントパラメータ | タイプ | 説明 |
---|---|---|
テーブル行 | 整数 | テーブルのこのダウンタイムに対応する行 |
再開時
このイベントは、Resume関数がすべてのメンバーに対して起動した後に1回発生します。
次のパラメータがあります。
イベントパラメータ | タイプ | 説明 |
---|---|---|
テーブル行 | 整数 | テーブルのこのダウンタイムに対応する行 |