タスクシーケンスを作成
概要と主要な概念
[タスクシーケンスを作成]アクティビティは空のタスクシーケンスを作成し、必要に応じて、それをタスク実行者に送付します。
タスクシーケンスとは、タスク実行者(オペレーターやトランスポーターなど)に割り当てることができる一連のアクション(タスクと呼ばれ、移動、ロード、アンロードなどがある)です。タスク実行者ごとに、送付されたタスクシーケンスのリストが設定されます。タスク実行者がタスクシーケンスを終了すると、すぐに、リスト内の次のタスクシーケンスの実行を開始します。
デフォルトで、このアクティビティは、待機状態を使用するタスクシーケンスを作成するように構成されます。これは、タスク実行者がタスクシーケンスの実行を開始すると、明示的に終了タスクが渡されるまで他のタスクシーケンスに移動しないことを意味します。したがって、このアクティビティは、終了タスクを渡すために使用される[タスクシーケンスを終了]アクティビティとペアにする必要があります。
コネクター
[タスクシーケンスを作成]アクティビティでは、コネクターを1つのみ使用できます。詳細については、「アクティビティを追加および接続する」を参照してください。
プロパティ
次の画像は、[タスクシーケンスを作成]アクティビティのプロパティを示しています。
これらの各プロパティについては、次のセクションで説明します。
名前
アクティビティの名前を変更するために使用します。このプロパティの詳細については、「名前」を参照してください。
フォント
[フォント]ボタン で、アクティビティの背景色プロパティとフォントプロパティを編集するウィンドウが開きます。このプロパティの詳細については、「フォント」を参照してください。
統計
[統計]ボタン でアクティビティの統計ウィンドウが開きます。このプロパティの詳細については、「統計」を参照してください。
タスク実行者/ディスパッチャー
[タスク実行者/ディスパッチャー]ボックスを使用して、タスクシーケンスを割り当てるタスク実行者またはディスパッチャーを選択します。タスクシーケンスを作成しても送付しない場合は、 ボタンをクリックして、このボックスに[なし]と表示されるようにします。[送付と待機]チェックボックスもオフにする必要があります。これは、タスクシーケンスを送付前にリストにプッシュするなどの動作に使用できます。タスクシーケンスの送付先が判明してから、[タスクシーケンスを送付]アクティビティを使用して、処理フロー内で後にあるタスク実行者にタスクシーケンスを割り当てる必要があります。このアクティビティの詳細については、「タスクシーケンスを送付」を参照してください。
優先度
[優先度]ボックスは、タスクシーケンスの優先度を設定します。デフォルトでは、タスク実行者はタスクシーケンスとアクティビティを受信した順に完了します(先入れ先出し)。ただし、タスク実行者がより重要なタスクを最初に完了させることもできます。[優先度]ボックスを使用すると、優先度の低いタスクシーケンスの前に優先度の高いタスクシーケンスからタスク実行者に処理させることができます。
デフォルトでは、すべてのタスクシーケンスには優先度0が割り当てられますが、[優先度]ボックスで任意の数値を入力できます。デフォルトでは、タスク実行者は優先度の高いタスクシーケンスをまず実行するために[キュー方法]プロパティでタスクシーケンスの優先順位を設定します。たとえば、優先度1と優先度2のタスクシーケンスを作成するとします。両方のタスクシーケンスがタスク実行者のキュー内で次に実行されるのを待っている場合、タスク実行者は優先度2のタスクシーケンスを最初に処理します。
プリエンプト
[プリエンプト]メニューは、タスクシーケンスのプリエンプト値を設定します。[プリエンプト]は、タスク実行者が現在のタスクシーケンスを停止して、プリエンプトするタスクシーケンスを処理する場合を指します。[プリエンプト]メニューを使用して、プリエンプトの有無とその方法を判断できます。
たとえば、オペレーターAの最も重要な責務は機械を修理することです。しかし、修理するマシンがない場合は、モデル全体で材料を輸送する必要もあります。オペレーターAがフローアイテムをどこかに輸送している間にマシンが故障した場合、オペレーターは行っている作業を止め、輸送オペレーションを終了する代わりにマシンを修理します。モデル内でこの動作をシミュレーションするには、オペレーターのマシンを修理するタスクシーケンスが、必ずフローアイテムを輸送するタスクシーケンスをプリエンプトするように設定する必要があります。
[プリエンプト]メニューには次のオプションがあります。
- プリエンプトしない - 現在のタスクシーケンスは他のタスクシーケンスをプリエンプトしません。
- プリエンプト - 現在のタスクシーケンスは、アクティブなタスクシーケンスをプリエンプトします。アクティブなタスクシーケンス(プリエンプトされているもの)はタスク実行者のキューに戻り、後に終了します。
- プリエンプト、アクティブを中断 - 現在のタスクシーケンスはアクティブなタスクシーケンスをプリエンプトします。アクティブなタスクシーケンス(プリエンプトされているもの)は削除され、後で終了しません。
- プリエンプト、すべてを中断 - 現在のタスクシーケンスは、アクティブなタスクシーケンスをプリエンプトします。タスク実行者のキュー内のアクティブなタスクシーケンスと他のすべてのタスクシーケンスは削除され、後で終了しません。
終了状態を待機
[終了状態を待機]は、タスクシーケンスを実行するタスク実行者に、そのタスクシーケンスで行うべき作業が残っておらず、タスクシーケンスが[タスクシーケンスを終了]アクティビティで終了していないため待つ必要があるときに移行する状態を定義します。
割り当て先
指定したラベルやノードの参照を、作成したタスクシーケンスに割り当てます。詳細については、「共通プロパティ」の「割り当て先」セクションを参照してください。
送付と待機
このボックスがオンになっている場合は、タスク実行者がこのタスクシーケンスの実行を開始するまでトークンがこのアクティビティを待機します。
タスク実行者の割り当て先
このフィールドは、[送付と待機]ボックスをオンにした場合にのみ使用できます。タスク実行者がタスクシーケンスの実行を開始すると、このフィールドによってそのタスク実行者がラベルに割り当てられます。たとえば、ディスパッチャーにタスクシーケンスを送付すると、最終的に、そのタスクがタスク実行者に渡されます。そのタスク実行者がこのフィールドで指定されたラベルに割り当てられます。