タスク3.2 - 複数の終了アクティビティを追加する
タスクの概要
処理フローでモデルロジックを構築するうえで便利なのは、同じロジックを構築する方法が複数あることです。このチュートリアルタスクでは、前のチュートリアルタスクで作成したモデルのわずかに異なるバージョンを作成します。このモデルでは、処理中のフローアイテムのタイプに基づいてプロセッサの処理時間を設定します。製品タイプ1のフローアイテムには、製品タイプ2のフローアイテムよりも速い処理時間が割り当てられます。また、フローアイテムには製品タイプに基づいてさまざまな色を割り当てます。
このロジックを作成するには、トークンのproductTypeラベルの値に基づいて2つの[終了]アクティビティのいずれかにトークンを送信するサブフローに[決定]アクティビティを追加します。2つの[終了]アクティビティでは、フローアイテムに異なる処理時間を割り当てます。作業が完了すると、3Dモデルと処理フローは次の画像のようになります。
ステップ1 処理フローでアクティビティを追加して名前を変更する
このステップでは、プロセッサの処理時間の変更をコントロールする処理フローにアクティビティを追加するための変更を行います。
作業が完了すると、処理フローは次の画像のようになります。
現時点では、これらのアクティビティの追加、名前変更、処理フローへの接続のみを行います。後のステップで、プロパティを編集して機能を追加します。
これらのアクティビティを追加して接続するには:
- [処理時間をオーバーライド]形状のスタックブロックをクリックして選択します。
- [はさみ]ボタン ([イベントを待つ:処理時間]と[終了して処理時間をオーバーライド]アクティビティの間)をクリックして選択します。
- ライブラリから[ベーシック]の下にある[決定]アクティビティを[イベントを待つ:処理時間]アクティビティのスタックブロック末尾に追加します。
- 2つの[ビジュアルを変更]アクティビティを追加して、スタックブロックの下に並べて配置します(スタックブロックには接続しないでください)。
- [終了して処理時間をオーバーライド]アクティビティを最初の[ビジュアルを変更]アクティビティの最後に移動し、スタックブロックを作成します。
- ライブラリから、2番目の[ビジュアルを変更]アクティビティの最後に2番目の[終了]アクティビティを追加して、2個目のスタックブロックを作成します。
- 分かりやすくするために、これらのアクティビティの名前を次のように変更します。
- [ProductTypeで決定]アクティビティから[ビジュアルを変更:赤]アクティビティに続くコネクターを作成します。
- 前のステップを繰り返して、[ビジュアルを変更:青]アクティビティに続くコネクターも作成します。
- わかりやすくするために、残りの処理フローで次のアクティビティの名前を変更してください。
アクティビティ | 新しい名前 |
---|---|
決定 | ProductTypeで決定 |
最初のビジュアル変更 | ビジュアルを変更:赤 |
2回目のビジュアル変更 | ビジュアルを変更:青 |
最初の終了 | ProductType1を終了 |
2番目の終了 | ProductType2を終了 |
アクティビティ | 新しい名前 |
---|---|
ラベルを割り当て:高速に設定 | ラベルを割り当て:ProductTypeを1に設定 |
ラベルを割り当て:低速に設定 | ラベルを割り当て:ProductTypeを2に設定 |
モデルを保存することをおすすめします。
ステップ2 アクティビティのプロパティを編集する
このステップでは、処理フローの新しいアクティビティのプロパティを編集します。このステップを実行した後の、各アクティビティの機能の概要を次に示します。
アクティビティ | 説明 |
---|---|
[ラベルを割り当て]アクティビティ | 前のチュートリアルタスクでは、両方の[ラベルを割り当て]アクティビティで「processTime」というラベルを作成して設定します。このステップでは、このラベルを削除し、サブフローがプロセッサの処理時間とビジュアルをコントロールする際に参照する「productType」に変更します。最初の[ラベルを割り当て]アクティビティではラベルを1 に設定し、2番目のアクティビティでは2 に設定します。 |
イベントを待つ:処理時間 | このアクティビティでも、処理時間イベントのプロセッサをリッスンしますが、このイベントをトリガーするアイテムへの参照を含む「MyItem」というラベルも追加します。 |
ProductTypeで決定 | このアクティビティではproductTypeラベルを評価し、productTypeが1のトークンを最初の[ビジュアルを変更]アクティビティに、producTypeが2のトークンを2番目の[ビジュアルを変更]アクティビティに送信します。 |
[ビジュアルを変更]アクティビティ | このアクティビティでは、productTypeに基づいてフローアイテムの色を青または赤に変更します。 |
終了アクティビティ | 前のアクティビティでは、[終了]アクティビティはprocessTimeラベルを参照して、処理時間の戻り値をプロセッサに提供しました。今回は、値を静的な値に変更します。最初の[終了]アクティビティでは戻り値2 が割り当てられ、2番目の[終了]アクティビティでは戻り値10 が割り当てられます。 |
これらのプロパティを編集するには:
- [高速処理時間]形状で[ラベルを割り当て:ProductTypeを1に設定]アクティビティをクリックして選択します。[クイックプロパティ]で、[名前]ボックスにある現在のテキストを削除し、代わりに「
productType
」と入力します。 - [値]ボックスで、現在のテキストを削除し、代わりに「
1.00
」と入力します。 - 前のステップを繰り返し[ラベルを割り当て:ProductTypeを2に設定]アクティビティに適用し、今度は[値]を「
2.00
」に変更します。 - [処理時間をオーバーライド]形状で[イベントを待つ:処理時間]アクティビティをクリックして選択します。[クイックプロパティ]で、[ラベル照合/割り当て]テーブルを検索します。[ラベル名]列の[アイテム]行に「
MyItem
」と入力します。 - [オペレーション]列のセルをクリックして、メニューを開きます。[割り当てる]を選択します。
- [ProductTypeで決定]アクティビティをクリックして選択します。[クイックプロパティ]で[トークンを送信]ボックスの横にある矢印をクリックして、メニューを開きます。[トークンラベル]をポイントしてから[ProductType]を選択します。
- [ビジュアルを変更:赤]アクティビティをクリックして選択します。[クイックプロパティ]で、[追加]ボタン をクリックしてメニューを開きます。ピックリストオプションを開くには、[オブジェクトの色を設定]を選択します。
- [オブジェクト]ボックスで、現在のテキストを削除し、「
token.MyItem
」と入力します。 - [色]ボックスの横にある矢印をクリックして、メニューを開きます。[赤]を選択します。
- 前のステップを繰り返し[ビジュアルを変更:青]アクティビティに適用し、今度は[青]を選択します。
- [ProductType 1を終了]アクティビティをクリックして選択します。[クイックプロパティ]の[戻り値]ボックスで、現在のテキストを削除し、「
2.00
」と入力します(これは前のチュートリアルタスクで使用されたものと同じ高速処理時間です)。 - [ProductType 2を終了]アクティビティで前のステップを繰り返し、[戻り値]を「
10.00
」に変更します。
モデルを保存することをおすすめします。
ステップ3 モデルを実行する
モデルをリセットして実行します。
処理時間はproductTypeラベルによって、タイプ1で赤色が高速アイテム、タイプ2で青色が低速アイテムと決定されます。
結論
これでサブフローのチュートリアルは終了です。シンプルですが効果的でカスタマイズ可能なロジックを作成するサブフローのさまざまな用途を理解していただければ幸いです。たとえば、カスタムロジックを追加する場合、このベーシックなサブフローを簡単に作成できます。高速アイテムと低速アイテムの間にタスクシーケンスのサブフローを追加して、製品の変更をシミュレーションする方法を確認できます。