タスク2.2 - 複数のオブジェクトからデータを取得する
タスクの概要
このチュートリアルタスクでは、統計コレクターを使用して複数のオブジェクトのデータを比較する方法について学習します。また、さまざまなオブジェクトから記録されたデータを統計コレクターで区別する方法や、オブジェクトのグループをリッスンするようにデータコレクターを設定する方法についても学習します。次に、複数のオブジェクトのデータをヒストグラムチャートとタイムプロットチャートで比較対照する方法について学習します。
ステップ1 3Dモデルを更新する
このステップでは、モデル内の現在のオブジェクトセットをコピーして、2つ目の同じオブジェクトセットをモデルに追加します。また、2つ目のプロセッサの処理時間は、最初のプロセッサとわずかに異なる統計分布を使用するように変更します。これらの相違点を統計コレクターを使用してチャートに表示する方法については、後で説明します。
作業が完了すると、モデルは次の画像のようになります。
これらの変更を行うには:
- 3DモデルでShiftキーを押しながら、[Source1]、[Queue1]、[Processor1]、[Sink1]の周りにボックスを描画して選択します。
- Ctrl + Cキーを押してオブジェクトをコピーします。
- Ctrl + Vキーを押してオブジェクトのコピーを貼り付けます。
- Shiftキーを押しながらモデル内の空白部分をクリックして、オブジェクトの選択を解除します。
- 分かりやすくするために、コピーしたオブジェクトの名前の末尾を2に変更します(Source2、Queue2など)。
- [Processor2]をクリックして選択します。
- [クイックプロパティ]の[プロセッサ]グループで、[処理時間]ボックスの横にある[プロパティを編集]ボタン をクリックして、分布セレクターを開きます。
- [中間]を[
7.0
]に、[標準偏差]を[1.5
]に変更します。 - このウィンドウの外側をクリックして変更を保存します。
モデルを保存することをおすすめします。
ステップ2 コレクターに2つ目のプロセッサを追加する
このステップでは、2つ目のプロセッサをProcessingTimesコレクターに追加する方法について学習します。モデルを実行して、データテーブルとチャートにどのような影響があるかを確認します。
2つ目のプロセッサを追加するには:
- [ツールボックス]の[統計コレクター]で、[ProcessingTimes]コレクターをダブルクリックして、プロパティを開きます。
- [イベントリスニング]タブの[サンプラー]ボタン をクリックして、サンプリングモードに入ります。
- [Processor2]をクリックして、メニューを開きます。[滞在時間変更時]を選択して、このイベントをサンプリングします。
- [イベントの詳細]グループで[変更ルール]メニューをクリックし、[更新]を選択します。
- [パラメータ]テーブルで、[新しい値]パラメータの[ラベル名]を[ItemStaytime]に変更します。
- [適用]ボタンをクリックして変更を保存します。
- [一般]タブで[テーブルを表示]ボタンをクリックしてデータテーブルを開きます。
- シミュレーションコントロールバーで、[実行速度]の横にある矢印をクリックしてプロパティを開きます。[カスタム]ボックスに「10」と入力し、[設定]ボタンをクリックします。
- モデルをリセットして実行します。
モデルが実行されるのを確認すると、両方のプロセッサのフローアイテムの滞在時間データがデータテーブルに追加されていますが、このデータテーブルではどのプロセッサが各フローアイテムに関連付けられているかが区別されていません。また、両方のプロセッサによってヒストグラムも更新されています。より速い速度でシミュレーションモデルを実行すると、中間と標準偏差がわずかに異なるためにベル曲線が少しゆがんでいることが分かります。
ステップ3 コレクターのオブジェクトを分割する
このステップでは、さまざまなオブジェクトを統計コレクターで区別する方法について学習します。この区別を行うには、各滞在時間イベントにどのプロセッサが関連付けられているかを記録する列をデータテーブルに追加します。また、この列を使用して2つのプロセッサの滞在時間を区別するようにヒストグラムチャートを更新します。
これらの変更を行うには:
- まだ開いていない場合は、[ProcessingTimes]統計コレクターを開きます。
- [データ記録]タブの[列]グループで、[追加]ボタン をクリックします。
- [名前]ボックスで、列の名前を[Object]に変更します。
- [値]ボックスの横にある矢印をクリックして、メニューを開きます。[ID]をポイントし、[イベントオブジェクトのID]を選択します。
- [表示形式]メニューが[オブジェクト]に設定されていることを確認します。
- [OK]ボタンをクリックして変更を保存し、ウィンドウを閉じます。
- ダッシュボードで、[処理時間]ヒストグラムをダブルクリックして、プロパティを開きます。作成したばかりの新しい[オブジェクト]列がプロパティに表示されています。
- [データ]タブの[データの分割基準]テーブルで、[オブジェクト]チェックボックスをオンにします。
- [設定]タブの[バケットカウント]ボックスで、数値を[20.00]に変更します。
- [OK]ボタンをクリックして変更を保存し、ウィンドウを閉じます。
- モデルをリセットして実行します。
モデルが実行されるのを確認すると、データテーブルには2つの列があり、新しい列にはどのプロセッサがフローアイテムを処理したかが表示されています。
また、ヒストグラムでは両方のプロセッサが徐々に2つの異なるベル曲線として表示されるようになり、それぞれの分布設定と一致していることが分かります。
ステップ4 グループにオブジェクトを追加する
このステップでは、まず、3つ目のオブジェクトセットをモデルに追加します。最新のプロセッサの処理時間を、異なるベル曲線分布を使用するように変更します。次に、2つのグループ(モデル内のすべてのプロセッサ用とすべてのキュー用)を作成します。キューグループは次のチュートリアルタスクを開始するまで使用しませんが、このステップで作成しておく方が簡単です。
これらの変更を行うには:
- 3DモデルでShiftキーを押しながら、[Source1]、[Queue1]、[Processor1]、[Sink1]の周りにボックスを描画して選択します。
- Ctrl + Cキーを押してオブジェクトをコピーします。
- Ctrl + Vキーを押してオブジェクトのコピーを貼り付けます。
- Shiftキーを押しながらモデル内の空白部分をクリックして、オブジェクトの選択を解除します。
- 分かりやすくするために、コピーしたオブジェクトの名前の末尾を3に変更します(Source3、Queue3など)。
- [Processor3]をクリックして選択します。
- [クイックプロパティ]の[プロセッサ]グループで、[処理時間]ボックスの横にある[プロパティを編集]ボタン をクリックして、分布セレクターを開きます。
- [中間]を[
17.0
]に、[標準偏差]を[0.5
]に変更します。 - [ツールボックス]で[追加]ボタン をクリックして、メニューを開きます。[グループ]を選択します。
- ウィンドウの上部にある名前ボックスで、グループの名前を「MyProcessors」に変更します。
- [サンプラー]ボタンをクリックして、サンプリングモードに入ります。[Processor1]をクリックしてグループに追加します。
- 前のステップを繰り返して、[Processor2]と[Processor3]を[MyProcessors]グループに追加します。
- グループを閉じ、[MyProcessors]グループが[ツールボックス]の[グループ]に表示されることを確認します。
- 前のステップを繰り返して、[MyQueues]という2つ目のグループを作成します。このグループに[Queue1]、[Queue2]、[Queue3]を追加します。
シミュレーションモデルを保存することをおすすめします。
ステップ5 コレクターにグループイベントを追加する
このステップでは、オブジェクトのグループをリッスンするように統計コレクターを設定する方法について学習します。グループをリッスンすることは、モデルを拡張するのに最適な方法です。統計コレクターを1回設定するだけで、グループをリッスンできます。新しいオブジェクトがモデルに追加された場合は、各オブジェクトを個別に統計コレクターに追加しなくても、グループに追加できます。
統計コレクターでグループリスニングを設定するには:
- [ツールボックス]の[統計コレクター]で、[ProcessingTimes]コレクターをダブルクリックして、プロパティウィンドウを開きます。
- [イベントリスニング]タブで、イベントリストの[Processor1 - 滞在時間変更時]をクリックして選択します。[削除]ボタン をクリックして、このイベントを削除します。
- 前のステップを繰り返して、イベントリストから[Processor2 - 滞在時間変更時]イベントも削除します。イベントリストは空になっています。
- [サンプラー]ボタンをクリックして、サンプリングモードに入ります。
- [ツールボックス]で[MyProcessors]グループをクリックして、メニューを開きます。[滞在時間変更時]を選択してサンプリングします。このイベントが統計コレクターのイベントリストに表示されるようになります。
- [イベントの詳細]グループで[変更ルール]メニューをクリックし、[更新]を選択します。
- [パラメータ]テーブルで、[新しい値]パラメータの[ラベル名]を[ItemStaytime]に変更します。
- 前のステップと同じ設定を使用してデータテーブルを作成するため、[データ記録]タブでは何も変更する必要がありません。[OK]を押して変更を保存し、モデルを閉じます。
- モデルをリセットして実行します。
データテーブルには、MyProcessorsグループの3つのプロセッサのデータがすべて含まれています。
また、ヒストグラムには、3つ目のプロセッサが別のベル曲線で表示されています。
ステップ6 タイムプロットチャートを作成する
このステップでは、イベントが発生する時間を追跡する新しい列をコレクターのデータテーブルに追加します。このコレクターは、シミュレーションモデル内のすべてのプロセッサの滞在時間イベントをリッスンしているため、プロセッサがフローアイテムの処理を完了した時点のタイムスタンプを記録します。
イベント時間を追跡するように統計コレクターを設定すると、タイムプロットチャートを作成できます。ヒストグラムと同様に、タイムプロットはデータの傾向を表示し、複数のオブジェクトのデータを比較できます。ただし、タイムプロットの利点の1つは、傾向に急な影響を及ぼすイベントがある場合、その傾向のピークとトラフを時間の経過とともに表示できることです。
このステップで作成するタイムプロットチャートは、滞在時間イベントが発生するたびにチャート上にポイントをマークします。つまり、各フローアイテムはチャート上の小さなドットで表されます。x軸は、フローアイテムの処理が終了した時刻(FlexSimモデル単位)を表します。y軸は、プロセッサがフローアイテムを処理した時間の長さを表します。ヒストグラムと同様に、異なるプロセッサで処理されたアイテムは異なる色で表示されます。
このチャートを作成するには:
- [ツールボックス]の[統計コレクター]で、[ProcessingTimes]コレクターをダブルクリックして、プロパティウィンドウを開きます。
- [データ記録]タブの[列]グループで、[追加]ボタン をクリックして新しい列を追加します。
- [名前]ボックスで、列の名前を「Time」に変更します。
- [値]ボックスの横にある矢印をクリックして、メニューを開きます。[時間]をポイントしてから[モデルの日付/時間]を選択します。
- [OK]ボタンをクリックして変更を保存し、プロパティウィンドウを閉じます。
- シミュレーションコントロールバーで、[リセット]ボタンを押してモデルを更新します。
- ダッシュボードの空白スペースをダブルクリックして、クイックライブラリを開きます。
- [チャート]グループで[時間プロット]をクリックして、ダッシュボードに追加します。プロパティウィンドウが自動で開きます。
- ウィンドウの上部にある名前ボックスで、チャートの表示名を「Processor Staytimes」に変更します。
- [データソース]メニューをクリックし、[ProcessingTimes]コレクターを選択します。
- [データ]タブで[X値]メニューをクリックし、[滞在時間]を選択します。
- [Y値]メニューをクリックし、[滞在時間]を選択します。
- [データの分割基準]グループで、[オブジェクト]チェックボックスをオンにします。
- [OK]ボタンをクリックして変更を保存し、ウィンドウを閉じます。
- モデルをリセットして実行します。
データテーブルには、プロセッサによってアイテムの処理が完了した時刻が表示されています。
この時刻情報を使用して、新しいタイムプロットチャートは、各フローアイテムがプロセッサで処理されるたびにタイムプロット上にポイントを作成します。3つのプロセッサの滞在時間には、明確なトレンドラインが見えることが分かります。
結論
これで、このチュートリアルタスクが完了し、統計コレクターを使用して複数のオブジェクトのデータを追跡して比較する方法についてよく理解できるようになりました。次のチュートリアルタスクでは、統計コレクターで計算済みテーブルを使用してカスタム統計を作成する方法について学習します。「チュートリアルタスク2.3 - カスタム統計を作成および追跡する」に進みます。