タスク実行者の概念
タスク実行者とは
タスク実行者は、ライブラリ内のいくつかのオブジェクトの最上位クラスです。オペレーター、トランスポーター、ASRS搬送車、クレーン、その他のモバイルリソースは、タスク実行者クラスを継承します。これらのオブジェクトはすべて、移動やフローアイテムのロード/アンロードを実行したり、処理ステーションの共有リソースとして機能したり、その他多数のシミュレーションタスクを実行したりできます。
タスク実行者とそのサブクラスは次のことができます。
- タスクシーケンスの実行
- 衝突検出の実行
- オフセット移動の実行
タスク実行者は、ディスパッチャークラスのサブクラスでもあるため、実際には他のチームメンバーにタスクシーケンスをディスパッチするチームリーダーとして機能できます。しかし、その処理とディスパッチロジックはディスパッチャーとは微妙に異なります。タスク実行者は、タスクシーケンスを受信すると、まずアクティブなタスクシーケンスがすでにあるかどうかを確認します。アクティブなタスクシーケンスがない場合、または新しく受信したタスクシーケンスがプリエンプトで、現在アクティブなタスクシーケンスよりも優先度が高い場合は、新しいタスクシーケンスの実行を開始し、必要に応じてアクティブなタスクシーケンスをプリエンプトします。それ以外の場合は、通常のディスパッチャーロジックを実行します。タスクシーケンスがすぐに渡されない場合は、タスク実行者のタスクシーケンスキューに入れられます。タスク実行者がアクティブなタスクシーケンスを完了したときにそのタスクシーケンスがまだキューに残っている場合、タスク実行者はそのタスクシーケンスを実行します。
ユーザー定義プロパティ
すべてのタスク実行者には、モデラーが定義できる次のフィールドがあります。
- 容量 - このパラメータは、オブジェクトの最大コンテンツの値を定義します。デフォルトのオペレーションでは、オブジェクトがこの値よりも多くのフローアイテムをロードすることは決してありません。
- 最大速度、加速、減速 - これらはタスク実行者の最大速度、加速、減速を定義します。最大速度は単位時間あたりの長さの単位で定義され、加速と減速は単位時間の二乗あたりの長さの単位で定義されます。たとえば、モデルをメートルと秒で定義する場合、速度値はm/sです。これらの値は、TASKTYPE_TRAVELやTASKTYPE_TRAVELTOLOCなどのタスクタイプの実行中にオブジェクトのピーク速度と速度変化を定義する際に使用されます。
- ロード/アンロードタスクのオフセットを移動 - この値は、タスク実行者がフローアイテムをロードまたはアンロードするときに、ロード/アンロード位置へのオフセット移動を実行する必要があるかどうかを決定します。たとえば、このチェックボックスがオンになっておらず、タスク実行者がネットワーク上を移動している場合、タスク実行者はロード/アンロードステーションにあるネットワークノードにのみ移動し、ロードを実行している間、そのノードにとどまります。
- 移動中に回転 - ここでは、移動する方向にオブジェクトを回転させるかどうかを指定できます。これはモデル出力には影響しません。視覚的な目的のためだけに使用されます。
- ロード時間 - 詳細については、[ロード時間]イベントを参照してください。
- アンロード時間 - 詳細については、[アンロード時間]イベントを参照してください。
- 中断先の要件 - このフィールドは、タスク実行者が中断タスクまたはcallsubtasksタスクに到達すると実行されます。戻り値はタスクシーケンスに参照されます。このフィールド内のロジックでは、タスク実行者のタスクシーケンスキューを検索し、中断先として適切なタスクシーケンスを見つける必要があります。
オフセット移動
オフセット移動は、さまざまなタイプのオブジェクトが同じ移動インターフェイスを使用しながらも、異なる方法で移動できるようにするメカニズムです。たとえば、あるオブジェクトが所定のベイとラックレベルにアイテムを配置するとします。この場合、オブジェクトがアイテムをドロップする適切な位置に移動する方法は、オブジェクトのタイプによって異なります。オペレーターはベイの位置まで歩き、アイテムを所定のレベルに配置します。トランスポーターはベイに移動しますが、そのフォークを適切な高さにリフトする必要があります。トランスポーターはx方向とy方向の両方に移動できますが、z方向に移動できるのはそのフォークだけです。ASRS搬送車はそれ自体のx軸に沿ってのみ移動し、そのプラットフォームを所定の高さに持ち上げ、ラックからアイテムをプルします。このように移動の実行方法はオブジェクトごとに異なりますが、適切な場所に移動してラックにアイテムを配置するというインターフェイスは同じです。オフセット移動は、基本的にタスク実行者の各サブクラスを区別する唯一のものです。各サブクラスがオフセット移動をどのように実行するかの詳細については、オブジェクトのヘルプページの「詳細」セクションを参照してください。オフセット移動は、次のタスクで使用されます。
- ロード
- アンロード
- traveltoloc
- travelrelative
- pickoffset
- placeoffset
オフセット移動インターフェイスは非常にシンプルです。すべてのタイプのオフセットリクエストは、x、y、zのオフセット距離、ときにはフローアイテムへの参照に変換されます。たとえば、あるオブジェクトに位置(5,0,0)へのtraveltolocタスクを与え、そのオブジェクトの現在の位置が(4,0,0)の場合、そのオブジェクトは自動でそのタスクを(1,0,0)のオフセットリクエストに変換します。これはx方向に1単位を移動する必要があることを意味します。travelrelativeタスクは直接変換されます。たとえば、(5,0,0)へのtravelrelativeタスクは、オブジェクトにx方向に5単位移動するよう指示します。「ロード/アンロードタスクのオフセットを移動」チェックボックスがオンになっている場合は、ロード/アンロードタスクでもオフセット移動が使用されます。オブジェクトがステーションからフローアイテムをロードする必要がある場合は、ステーションにアイテムの位置を問い合わせます。また、アイテムをアンロードする必要がある場合は、ステーションにアイテムをアンロードする位置を問い合わせます。ステーションはx/y/zのオフセット距離を返し、タスク実行者はこの距離を使用してオフセットを移動します。また、ロード/アンロードタスクの場合は、タスク実行者のオフセットリクエストにアイテムへの参照が含まれています。これは、オブジェクトのタイプに応じて、オブジェクトの移動方法に影響する場合と影響しない場合があります。たとえば、トランスポーターのオフセット移動メカニズムの実装では、アイテムが存在する場合、つまりトランスポーターがアイテムをロードまたはアンロードしている場合、トランスポーターはフォークをz方向にリフトします。アイテムが存在しない場合、つまりトランスポーターがtraveltolocまたはtravelrelativeタスクを実行している場合は、フォークをリフトする代わりに実際にz方向に移動します。
オフセット値は、オブジェクトのx/y中心とオブジェクトのz基点を基準にして計算します。たとえば、ロボットは位置(0,0,0)に配置されます。サイズは(2,2,1)です。これからx/y中心とz基点は位置(1,-1,0)として計算できます(注:yサイズは負のy軸に沿って伸長します)。すべてのオフセット計算は、この(1,-1,0)位置を使って行う必要があります。ロボットにtraveltolocタスクを渡すとこの計算が自動で行われますが、この位置を手動で計算し、travelrelativeタスクを使用することが必要になる場合があります。ロボットに(1,0,0)のtravelrelativeタスクを与えた場合、正確な移動位置は、ロボットのx/y中心とz基点の1単位右側になります。これは位置(2,-1,0)に変換されます。これは、ロボットが、それ自体の位置が(2,-1,0)になるように移動するという意味ではありません。また、x/y中心とz基点がその位置になるように移動することもありません。ロボットなので、回転し、アームの先端が位置(2,-1,0)になるようにアームを伸ばします。実際の位置はまったく変わりません。したがって、オブジェクトのx/y中心とz基点からの計算を使用すれば、すべてのオブジェクトに共通でありながらも、各タイプのオブジェクトがそれぞれ異なる方法で扱うことができる、望ましい目的地を指定できます。
衝突検出
タスク実行者とそのサブクラスは、他のオブジェクトとの衝突を検出する機能を備えています。衝突検出を実行するには、タスク実行者に衝突メンバーを追加し、タスク実行者とその衝突メンバーに衝突球を追加してから、タスク実行者の球の1つが衝突メンバーの球の1つに衝突したときにロジックを実行します。指定する各衝突球には、タスク実行者の座標系内の位置と半径があります。タスク実行者は、ユーザーが指定した時間間隔で衝突を繰り返しチェックします。各衝突チェックでは、タスク実行者はそのすべての衝突球と衝突メンバーのすべての衝突球との衝突をチェックします。衝突が検出された場合、タスク実行者はその衝突トリガーを起動します。衝突するオブジェクトの衝突トリガーは起動しません。その他のオブジェクトの衝突トリガーは、そのオブジェクトがそれ自体の衝突チェックを実行すると起動します。衝突トリガーは、特定の球と球の衝突に対して起動することに注意してください。つまり、1つの衝突チェック内で、球と球が衝突するたびに1回ずつ複数回起動する場合があります。
衝突検出に注意を払わないと、モデルの実行速度が非常に簡単に低下する可能性があることに注意してください。たとえば、タスク実行者に5つの衝突球と5つの衝突メンバーがあり、その衝突メンバーの各々に5つの衝突球がある場合、各衝突チェックでは、球と球の衝突チェックを125回行う必要があります。6つすべてのタスク実行者が衝突をチェックする場合、モデルの衝突チェック間隔ごとに750回の球と球の衝突チェックが行われます。これは、特に衝突間隔が非常に小さい場合には、モデルの速度の大幅な低下につながる可能性があります。
setcollisioncheck()コマンドを使用すると、特定のタスク実行者の衝突検出をオンまたはオフにできます。このコマンドの詳細については、コマンドの概要を参照してください。
イベント
次のセクションでは、タスク実行者のイベントに関する重要な考慮事項について説明します。イベントの詳細については、「イベントリスニング」ページを参照してください。
エントリ時
OnEntryイベントは、TaskExecuterがフローアイテムを受け取ったときに起動します。これには、アイテムがTaskExecuterに移動したときに加えて、TaskExecuterがアイテムをロードしたときも含まれます。
次のパラメータがあります。
イベントパラメータ | タイプ | 説明 |
---|---|---|
入るアイテム | オブジェクト | オブジェクトに入ったフローアイテム。 |
入力ポート | 整数 | フローアイテムが入った入力ポート番号。 |
終了時
OnExitイベントは、TaskExecuterがフローアイテムを送ったときに起動します。これには、アイテムがTaskExecuterから離れて移動したときに加えて、TaskExecuterがアイテムをアンロードしたときも含まれます。
次のパラメータがあります。
イベントパラメータ | タイプ | 説明 |
---|---|---|
出るアイテム | オブジェクト | オブジェクトから出るフローアイテム。 |
出力ポート | 整数 | フローアイテムが出る出力ポート番号。 |
ロード時
ロード時イベントは、フローアイテムがオブジェクトにロードされるたび、ロード時間が完了した後に起動します。このイベントは、オブジェクトのロード時トリガーを実行します。
次のパラメータがあります。
イベントパラメータ | タイプ | 説明 |
---|---|---|
ロードされるアイテム | オブジェクト | オブジェクトによってロードされたフローアイテム。 |
開始ステーション: | オブジェクト | タスク実行者がロードしたオブジェクト。 |
ロード時間
ロード時間イベントは、各ロードタスクの開始時に起動します。タスク実行者がロードタスクとアンロードタスクのオフセットを移動するように構成されている場合は、最初に正しいオフセットを移動し、ロード時間を開始することに注意してください。したがって、ロード時間はオフセット移動時間の最後に加算されます。オフセット移動時間の一部ではありません。
次のパラメータがあります。
イベントパラメータ | タイプ | 説明 |
---|---|---|
アイテム | オブジェクト | ロードされるフローアイテム。 |
ステーション | オブジェクト | タスク実行者がロードするオブジェクト。 |
[ロード時間]フィールドの戻り値は、タスク実行者がフローアイテムをロードして次のタスクに移るまで待機する遅延時間です。
アンロード時
アンロード時イベントは、フローアイテムがオブジェクトからアンロードされるたび、アンロード時間が完了した後に起動します。このイベントは、オブジェクトのアンロード時トリガーを実行します。
次のパラメータがあります。
イベントパラメータ | タイプ | 説明 |
---|---|---|
アンロードアイテム | オブジェクト | アンロードされるフローアイテム。 |
終了ステーション | オブジェクト | タスク実行者がアンロードする必要があるオブジェクト。 |
アンロード時間
アンロード時間イベントは、各アンロードタスクの開始時に起動します。タスク実行者がロードタスクとアンロードタスクのオフセットを移動するように構成されている場合は、最初に正しいオフセットを移動し、ロード時間を開始することに注意してください。したがって、ロード時間はオフセット移動時間の最後に加算されます。オフセット移動時間の一部ではありません。
次のパラメータがあります。
イベントパラメータ | タイプ | 説明 |
---|---|---|
アイテム | オブジェクト | アンロードされるフローアイテム。 |
ステーション | オブジェクト | タスク実行者がアンロードするオブジェクト。 |
[アンロード時間]フィールドの戻り値は、タスク実行者がフローアイテムをアンロードして次のタスクに移るまで待機する遅延時間です。
受信タスクシーケンス時
受信タスクシーケンス時イベントは、タスク実行者が新しいタスクシーケンスを受信するたびに起動します。このイベントは、受信タスクシーケンス時トリガーを実行します。
次のパラメータがあります。
イベントパラメータ | タイプ | 説明 |
---|---|---|
タスクシーケンス | ツリーノード | タスク実行者が受信したタスクシーケンス。 |
タスク開始時
タスク開始時イベントは、タスク実行者によって新しいタスクが開始されるたびに起動します。
次のパラメータがあります。
イベントパラメータ | タイプ | 説明 |
---|---|---|
タスクシーケンス | ツリーノード | タスクが含まれているタスクシーケンス。 |
タスクランク | 整数 | 開始されるタスクのタスクシーケンス内のランク。 |
タスクタイプ | 整数 | 開始されるタスクのタイプ(TASKTYPE_LOADなど)。 |
タスク終了時
タスク終了時イベントは、タスク実行者によってタスクが完了されるたびに起動します。
次のパラメータがあります。
イベントパラメータ | タイプ | 説明 |
---|---|---|
タスクシーケンス | ツリーノード | タスクが含まれているタスクシーケンス。 |
タスクランク | 整数 | 完了されるタスクのタスクシーケンス内のランク。 |
タスクタイプ | 整数 | 完了されるタスクのタイプ(TASKTYPE_LOADなど)。 |
プリエンプト時
プリエンプト時イベントは、タスク実行者が別のタスクシーケンスを処理するためにアクティブなタスクシーケンスからプリエンプトされると起動します。
次のパラメータがあります。
イベントパラメータ | タイプ | 説明 |
---|---|---|
プリエンプトされるタスクシーケンス | ツリーノード | プリエンプトされるアクティブなタスクシーケンス。 |
タスクランク | 整数 | プリエンプトされたときにタスク実行者が処理していたタスクのランク。 |
タスクタイプ | 整数 | プリエンプトされたときにタスク実行者が処理していたタスクのタイプ(TASKTYPE_LOADなど)。 |
プリエンプトするタスクシーケンス | ツリーノード | アクティブなタスクシーケンスをプリエンプトしたタスクシーケンス。 |
中断先
中断先イベントは、タスク実行者が「中断」タスクを実行するときにのみ起動します。標準のタスクシーケンスは、移動 - ロード - 中断 - 移動 - アンロードのタスクシーケンスで構成されます。
タスク実行者が中断タスクを受信した場合、タスク実行者は、現在アクティブなタスクシーケンスをキューに戻し、現在のタスクシーケンスを終了する前に実行する必要があるタスクシーケンスが他にあるかどうかを確認してもよいという通知を受けたことになります。これにより、複数のアイテムをドロップする前にロードするなどの機能が可能になります。このような場合、タスク実行者はまず、現在「マルチタスク処理」が可能であることを確認します。これは「コンテンツを処理する余力があるか」と自問することによって行われます。このチェックボックスがオンの場合、[中断先]フィールドを実行して中断先のタスクシーケンスを検索します。新しいタスクが終了すると、タスク実行者は元のタスクシーケンスに戻ります。
次のパラメータがあります。
イベントパラメータ | タイプ | 説明 |
---|---|---|
アクティブなタスクシーケンス | ツリーノード | 中断タスクが開始されたときにタスク実行者が処理しているタスクシーケンス。 |
[中断先]がNULLを返した場合、タスク実行者は一切中断しません。有効なタスクシーケンスが返された場合は、中断して新しいタスクシーケンスに切り替えて、そのタスクシーケンスを実行します。
リソース利用可能時
このイベントは、ディスパッチャーとタスク実行者で動作が少し異なります。ディスパッチャーの場合は、下流のタスク実行者が利用可能になるたびにイベントが起動します。タスク実行者の場合は、そのイベント実行者がタスクシーケンスを終了するたびにイベントが起動します。タスク実行者がディスパッチャーである場合、つまりタスクをディスパッチするチームを持っている場合は、両方のケースでイベントが起動します。
次のパラメータがあります。
イベントパラメータ | タイプ | 説明 |
---|---|---|
出力ポート | 整数 | このイベントがディスパッチャーで起動するものである場合、これは利用可能なタスク実行者の出力ポート番号です。 |
リソース | オブジェクト | 利用可能になったタスク実行者。 |
次のタスクシーケンス | ツリーノード | タスク実行者のタスクシーケンスが入っている場合、これは次に実行されるタスクシーケンスになります。 |
完了したタスクシーケンス | ツリーノード | 完了したばかりのタスクシーケンス。このタスクシーケンスは、このイベントが完了すると破棄されます。 |
リソース利用可能時トリガーが0を返した場合、ディスパッチャー/タスク実行者はそれ自体のディスパッチロジックを実行します。関数が1を返した場合、ディスパッチャー/タスク実行者は何も行わず、TaskSequence.move()メソッドとTaskSequence.dispatch()メソッドを使用するこのトリガーのディスパッチロジックがすべて完了したと想定します。
パス先
この関数は、ディスパッチャーがタスクシーケンスを受信すると起動し、ディスパッチャーがタスクシーケンスを渡す出力ポートを返します。0が返された場合、タスクシーケンスは、使用可能なディスパッチャーまたはタスク実行者にタスクシーケンスを渡せるようになるまで、定義されたキュー方法に従って自動でキューに入れられます。0より大きい値が返された場合、タスクシーケンスは返されたポート番号にすぐに送信されます。-1の値が返された場合、ディスパッチャーは何も行わず、TaskSequence.move()メソッドとTaskSequence.dispatch()メソッドを使用するパス先関数のディスパッチロジックがすべて完了したと想定します。
このイベントにはパラメータがありません。
キュー方法
このイベントにはパラメータがありません。
衝突時
衝突時イベントを使用するには、タスク実行者のプロパティウィンドウの[衝突]タブにある[衝突チェック]ボックスをオンにする必要があります。2つのオブジェクトの衝突球が交差すると、衝突時イベントが起動します。これにより、衝突の処理方法を決定できる[衝突を処理]フィールドが実行されます。
次のパラメータがあります。
イベントパラメータ | タイプ | 説明 |
---|---|---|
その他のオブジェクト | オブジェクト | 衝突が発生したオブジェクト。 |
オブジェクト球 | ツリーノード | 衝突したタスク実行者の衝突球。 |
その他の球 | ツリーノード | 衝突が発生したオブジェクトの衝突球。 |
メッセージ時
メッセージ時イベントは、オブジェクトのメッセージ時トリガーを起動させます。このイベントは、オブジェクトがメッセージを受信すると起動します。
次のパラメータがあります。
イベントパラメータ | タイプ | 説明 |
---|---|---|
送信オブジェクト | オブジェクト | メッセージを送信したオブジェクト。 |
メッセージパラメータ1 | バリアント | これはメッセージを介して渡されたパラメータであり、数値、文字列、ツリーノード、配列になります。 |
メッセージパラメータ2 | バリアント | これはメッセージを介して渡されたパラメータであり、数値、文字列、ツリーノード、配列になります。 |
メッセージパラメータ3 | バリアント | これはメッセージを介して渡されたパラメータであり、数値、文字列、ツリーノード、配列になります。 |
停止時
このイベントは、Object.stop()
を使用したコードか、タイムテーブルまたはMTBF/MTTRツールを使用することによってオブジェクトが停止したときに起動します。
次のパラメータがあります。
イベントパラメータ | タイプ | 説明 |
---|---|---|
停止リクエスト数 | 整数 | オブジェクトに与えられた停止リクエストの数。この数には現在の停止リクエストが含まれます。 |
状態 | 整数 | 停止中のオブジェクトが入る状態。 |
ID | 整数 | 停止リクエストのIDまたはキー。 |
優先度 | ダブル | 停止リクエストの優先度。 |
状態プロファイル | 整数 | 新しい状態のプロファイル番号。デフォルトの状態プロファイルは0です。 |
再開時
このイベントは、Object.resume()
を使用したコードか、タイムテーブルまたはMTBF/MTTRツールを使用することによってオブジェクトが再開したときに起動します。
次のパラメータがあります。
イベントパラメータ | タイプ | 説明 |
---|---|---|
停止リクエスト数 | 整数 | オブジェクトに残っている停止リクエストの数。 |
ID | 整数 | 再開リクエストのIDまたはキー。 |
状態プロファイル | 整数 | オブジェクトが停止したときの状態のプロファイル番号。デフォルトの状態プロファイルは0です。 |
コンテンツ変更時
このイベントは、オブジェクトのコンテンツが変更されるたびに起動します。これは、フローアイテムがオブジェクトにロードされたとき、またはオブジェクトからアンロードされたときに発生します。
このイベントにはパラメータがありません。
入力変更時
このイベントは、フローアイテムがオブジェクトにロードされたときに起動します。
このイベントにはパラメータがありません。
出力変更時
このイベントは、フローアイテムがオブジェクトからアンロードされたときに起動します。
このイベントにはパラメータがありません。
滞在時間変更時
このイベントは、出力変更時イベントの直後に、フローアイテムがオブジェクトからアンロードされたときに起動します。
このイベントにはパラメータがありません。
状態変化時
このイベントは、オブジェクトの状態が変化すると起動します。このイベントでは、オブジェクトの状態が特定の状態に変化するのをリッスンしたり、オブジェクトの状態を追跡記録したりできます。
次のパラメータがあります。
イベントパラメータ | タイプ | 説明 |
---|---|---|
状態プロファイルノード | ツリーノード | [新しい状態]がデフォルトの状態プロファイルにある場合、このパラメータはNULLです。それ以外の場合、このパラメータは、オブジェクトのstate_profile属性ノードにある状態プロファイルノード(追跡変数)の参照です。 |
新しい状態 | 整数 | オブジェクトが設定される状態番号。 |
前の状態 | 整数 | 新しい状態が設定される前のオブジェクトの状態番号。 |
状態値変更時
状態値変更時イベントは、オブジェクトの状態統計を保存する追跡変数に関連付けられます。このイベントをリッスンすると、変更ルールを使用できます。このイベントは、状態変化時イベントと同時に起動します。
このイベントには状態プロファイル番号が必要です。デフォルトの状態プロファイルを使用している場合、この番号は0です。
リセット時
リセット時イベントは、モデルがリセットされたとき、オブジェクトごとに起動します。
このイベントにはパラメータがありません。
描画時
描画時イベントは、3Dビューが再ペイントされるたびに起動します。これは、実行速度と更新レートに応じて、さまざまなタイミングで発生します。モデルの再現性を確認するために、描画時トリガーで使用されるコードでは、FlexSimの乱数ジェネレータを使用するstochasticsコマンド(distributions)を使用しないでください。
次のパラメータがあります。
イベントパラメータ | タイプ | 説明 |
---|---|---|
ビュー | ツリーノード | オブジェクトが描画されているビュー。複数の3Dビューを開いていると、それぞれのビューで描画時イベントが起動します。 |
状態
タスク実行者の状態は、タスク実行者が実行するタスクのタイプに完全に依存します。多くのタスクはハードコードされた状態に関連付けられますが、一部のタスクでは、タスク実行者がそのタスクを実行するときの状態をモデラーが明示的に指定できます。次に、よくあるタスク実行者の状態をいくつか示します。
タスク実行者の状態は次のとおりです。
アイドル
オブジェクトはどのタスクも実行していません。
空の移動
オブジェクトはフローアイテムをロードせずに目的地オブジェクトに移動しています。この状態は、TASKTYPE_TRAVELタスクにのみ関連付けられます。
ロードした状態での移動
オブジェクトは目的地オブジェクトに移動しており、1つ以上のフローアイテムをロードしています。この状態は、TASKTYPE_TRAVELタスクにのみ関連付けられます。
空のオフセット移動
オブジェクトはオフセット移動を実行しており、フローアイテムをロードしていません。
ロードした状態でのオフセット移動
オブジェクトはオフセット移動を実行しており、1つ以上のフローアイテムをロードしています。
ロード中
オブジェクトはフローアイテムをロードしています。この状態はTASKTYPE_LOADタスクに対応し、オブジェクトがオフセット移動を完了し、アイテムをロードする前にモデラー定義のロード時間を待機している時間にのみ適用されます。
アンロード中
オブジェクトはフローアイテムをアンロードしています。この状態はTASKTYPE_UNLOADタスクに対応し、オブジェクトがオフセット移動を完了し、アイテムをアンロードする前にモデラー定義のアンロード時間を待機している時間にのみ適用されます。
活用
オブジェクトはステーションで活用されています。この状態は、通常、オペレーターがステーションに到着し、処理、設定、または修理時に活用されているときにオペレーターに対して使用されます。活用状態は、通常はTASKTYPE_UTILIZEタスクに関連付けられますが、このタスクでは別の状態を指定することもできます。TASKTYPE_DELAYなどのその他のタスクタイプでも活用状態を使用できます。
ブロックされました
オブジェクトは現在移動していますが、ネットワーク上でブロックされています。
統計
次のセクションでは、タスク実行者の統計に関する重要な考慮事項について説明します。
状態
カテゴリ追跡変数は、各オブジェクトの状態履歴を収集するために使用されます。このデータを使用して、各状態の合計時間を取得したり、ダッシュボード上にオブジェクトの現在の状態を表示したり、モデル実行全体の状態履歴を表示したりできます。詳細については、「ダッシュボード」、「統計コレクター」、「追跡変数」のページを参照してください。
スループット
スループットは、入力統計と出力統計で構成されます。タスク実行者によってロードされたフローアイテムごとに、入力が1ずつ増加します。フローアイテムがアンロードされると、出力が1だけ増加します。スルーアウトの統計は常に増加します。
コンテンツ
コンテンツ統計には、タスク実行者の内部にあるフローアイテムの数が記録されます。オブジェクトのコンテンツは、モデルの実行中に増減できます。コンテンツ統計からは、最小値、最大値、平均値を含む追加データを収集することもできます。このデータはモデル実行全体から計算されます。
滞在時間
滞在時間統計は、タスク実行者がアンロードするフローアイテムごとに記録されます。滞在時間は、アンロード時間 - ロード時間と同じです。滞在時間統計からは最小値、最大値、平均値を含む追加データを収集することもできます。このデータはモデル実行全体から計算されます。
移動距離
タスク実行者の合計移動距離は、移動タスクが実行されるときに記録されます。特定のタスクの移動距離は、タスクの完了後ではなくタスクの開始時に合計移動距離に加算されます。