3Dオブジェクトフローの概要
フローとは
3Dオブジェクトに関する前章では、3つの基本的な「3Dオブジェクトのタイプ」について学習しました。
- フローアイテム - シミュレーションモデルを流れるアイテムまたは材料。フローアイテムは、材料、製品、顧客、注文、情報などを表すことができます。
- 固定リソース - フローアイテムと相互作用する際にモデル内で固定されたオブジェクトまたは変化しないオブジェクト。固定リソースは、ワークステーション、ストレージセンター、処理ステーションなどを表すことができます。
- タスク実行者 - モデル内を移動して、フローアイテムの輸送や機械の操作などのさまざまなタスクを実行するオブジェクト
この章では、これらのオブジェクトがシミュレーションモデル内で相互作用してフローを作成する方法について詳しく説明します。一般的に、フローとはシミュレーションの開始から終了までの全体を通したアイテムの移動です。
この処理は、アイテムルーティングと呼ばれることもあります。このロジックでは、アイテムがビジネスシステムで1つのステーションから別のステーションに移動する方法を決定します。
リーン生産方式に詳しい場合は、ビジネスシステム全体でアイテム(または顧客)の流れを調べて最適化することによってビジネスシステムを改善できることがわかります。可能な限りスムーズで連続的なフローを作成するビジネスシステムが、無駄のない「リーン」な状態といえます。リーンシステムは、過剰生産、ボトルネック、アイドル状態によって生じる無駄を排除します。したがって、FlexSimの3Dオブジェクト間でフローを作成するさまざまな方法を学習することで、実際に実現可能な複数のフロースキームを調べて分析し、ビジネスシステムの効率を向上できます。
主な用語
フローについて学習する前に、フローの説明で頻繁に使用されるいくつかの重要な用語と概念を理解する必要があります。
上流および下流
ある1つの観点からは、フローをアイテムのストリームと考えることができます。水が川を流れるのと同じように、アイテムは1つの3Dオブジェクトから別の3Dオブジェクトに転送されて、ビジネスシステムを流れることができます。この理由から、フローよりもさらに上または下にある異なるオブジェクトを上流と下流という用語で呼ぶことがあります。
たとえば、次の画像では、3つのソースがフローアイテムを作成し、各アイテムをコンベヤに転送します。次にコンバイナがフローアイテムを受け取り、トートにパックします。この意味からも、3つのソースは上流にあり、コンバイナは下流にあるといえます。
プッシュ/プルする
プッシュとプルという用語は、2つのオブジェクト間のフローアイテムの交換を指します。これは、アイテムフローをコントロールするのが下流オブジェクトと上流オブジェクトのどちらであるかを示します。上流オブジェクトは次に利用可能なフローアイテムを下流オブジェクトに送るときにフローアイテムをプッシュします。上流オブジェクトがフローをコントロールするという意味です。下流オブジェクトは上流オブジェクトからフローアイテムを受け取るときにフローアイテムをプルします。下流オブジェクトがフローをコントロールするという意味です。
たとえば、次のシミュレーションモデルには、プッシュとプルの両方のオブジェクトがあります。
この例では、ソースは3つの異なるタイプのフローアイテムを作成し、それらを最初のキューにプッシュします。キューはいつでもフローアイテムを受け取ることができるため、ソースはフローアイテムをすぐにキューにプッシュできます。
次の2つの条件が満たされるとすぐに、3つのプロセッサはキューからアイテムをプルします。
- プロセッサが空であり、別のアイテムを処理する準備ができている
- その条件を満たすフローアイテムがキューにある
この場合、各プロセッサはアイテムタイプに基づいてアイテムをプルします(Processor1はタイプ1のアイテムをプルし、Processor2はタイプ2のアイテムをプルするなど)。キューからプロセッサへのアイテムのフローは最終的にプロセッサがコントロールするため、プロセッサが上流のキューからアイテムをプルするといえます。
シミュレーションモデルにロジックを構築し、オブジェクトがフローアイテムをプッシュまたはプルする必要があるかどうかを決定できます。デフォルトでは、ほとんどのオブジェクトはフローアイテムをプルするのではなくプッシュするように設定されていますが、これらの設定は変更できます。
一般的なフローの種類
FlexSimには、ほとんどすべての種類のフロー接続またはあらゆるフローロジックを構築する機能があります。以下のセクションでは、シミュレーションモデリングで使用される一般的なフロー接続について説明します。
1対1
最も基本的なタイプのフロー接続は、1つのオブジェクトと別のオブジェクト間の単一接続です。このタイプの接続では、上流オブジェクトの受け入れ準備ができるとすぐにフローアイテムを次の下流オブジェクトにプッシュするか、下流オブジェクトの準備ができるとすぐにフローアイテムをプルします。
最初に利用可能
オブジェクトが最初に利用可能なロジックを使用すると、フローアイテムはフローアイテムを受け取るために利用可能な最初の下流オブジェクトに移動します。
たとえば、最初のポート(port1)が利用可能な場合は、そこにフローアイテムが送られます。最初のポートが利用できない場合、フローアイテムは2番目のポートに送られます。利用可能なポートがない場合、フローアイテムはポートが利用可能になるまで待機します。
ラウンドロビン
オブジェクトがラウンドロビンロジックを使用する場合、フローアイテムは利用可能な各下流オブジェクトに順に送られます。最初のフローアイテムは最初のオブジェクトに移動し、2番目のフローアイテムは2番目のオブジェクトに移動します。
ランダム
下流オブジェクトにランダムに流れるフローアイテムを割り当てることができます。ランダム統計分布を使用して、フローアイテムを1つのオブジェクトから別のオブジェクトに分岐できます。FlexSimでは、コイントス(ベルヌーイ)、特定の範囲の値における任意の数、あるオブジェクトと別のオブジェクトに対するオブジェクトの特定の割合など、さまざまな分布を使用してランダムな特性を生成できます。
次の例では、最初のキューがフローアイテムの70%を2番目のプロセッサに、15%を最初のプロセッサに、15%を3番目のプロセッサにランダムにプッシュするように設定されています。
条件付き
オブジェクトは条件付きロジックを使用して、特定の下流オブジェクトに流すアイテムを決定できます。たとえば、キューでの待機時間やアイテムタイプなどの特定の優先度に基づいて、オブジェクトを下流オブジェクトに送ることができます。カスタムラベルで特定の値を持つオブジェクトは、特定の下流オブジェクト(重量、サイズ、ラベルの他の値に基づいてなど)に送ることができます。フローアイテムがルーティングされる方法は、時刻や特定の状況など、シミュレーションモデルにおけるその他の外部条件にも依存する可能性があります。ほとんどすべてのタイプの条件をシミュレーションできるため、可能性は無限です。
次の例では、各プロセッサはアイテムタイプに基づき条件付きでアイテムをプルします。たとえば、Processor1はタイプ1のアイテムをプルし、Processor2はタイプ2のアイテムをプルします。
シーケンシャル
オブジェクトはグローバルテーブルとリストを使用して、フローアイテムを特定の順序またはシーケンスでオブジェクトに送ることができます。
たとえば、4つの異なるステーション(掘削、組立、溶接、プレス)のいずれかにアイテムが送られるジョブショップをシミュレーションするとします。アイテムのタイプによっては、各ステーションに別の順序で送る必要があります。
グローバルテーブルとリストの組み合わせを使用すると、次のような複雑なシーケンシャルフローを作成できます。
輸送を使用する
オブジェクトは通常、3Dモデルで1つの固定リソースから別の固定リソースに流れます。固定リソースとは異なり、オペレーター、ロボット、AGVなどのタスク実行者はシミュレーションモデル全体を移動できます。そのため、次の画像に示すように、タスク実行者を使用して1つの固定リソースから別の固定リソースにフローアイテムを輸送できます。
フロー接続ツールの概要
次のセクションで説明するように、FlexSimには3Dオブジェクト間のフローの作成に使用できるさまざまなツールがあります。
ポート
シミュレーションモデル内の3Dオブジェクト間でポート接続を直接作成できます。その後、3Dオブジェクトのプロパティを使用し、ポートを使用して2つのオブジェクト間のフローをコントロールできます。
ポート接続は、1つのオブジェクトから1つの下流オブジェクト(1対1接続タイプなど)に単にアイテムを送る場合に適しています。2つのオブジェクト間のポート接続はすばやく簡単に作成でき、基本フローロジックで事前にプログラムされています。
最初に利用可能、ラウンドロビン、ランダム、条件付きルーティングなどの基本的なルーティング方法を使用して、1つのオブジェクトから複数の上流または下流オブジェクトの1つにアイテムを送る場合は、ポート接続も理想的です。
詳細については、「ポートについての主要な概念」を参照してください。
リスト
上流オブジェクトはフローアイテムをリストにプッシュし、下流オブジェクトはそのアイテムをリストからプルできます。下流オブジェクトは、特定のリストアイテムをフィルタリングしたり優先度付けしたりできます。
次の例では、最初のキューはフローアイテムを[利用可能な製品]というリストに入れます。アイテムは、プロセッサによってリストからプルされるまでキューで待機します。プロセッサは、アイテムタイプクエリに一致するアイテムをプルします。たとえば、Processor1はタイプ1のアイテムのみをプルします。Processor2はタイプ2のアイテムのみをプルします。
リストは、多対多ルーティングを行う必要がある場合など、ポート接続を使用すると管理が複雑になり、使用が困難になる場合に効果的に機能します。リストは、複雑なルールセットを使用してフローアイテムをフィルタリングまたは優先度付けする必要がある場合にも理想的です。この場合にリストを使用してアイテムを受け渡しする条件の作成は、ポートを使用するよりも簡単です。
詳細については、「リストについての主要な概念」を参照してください。
コンベヤ
コンベヤオブジェクトを使用してスラグ構築システム、パワー&フリーシステム、条件付きルーティングシステムなどのさまざまなコンベヤシステムを作成できます。たとえば、次のコンベヤシステムでは、6つのオブジェクトのスラグを作成してから下流オブジェクトにリリースします。
詳細については、「コンベヤについての主要な概念」を参照してください。
処理フロー
処理フローは、主にシミュレーションモデルのロジックをコントロールするために使用されるツールですが、必要に応じてオブジェクト間でのフローアイテムの移動にも使用できます。
次の例は、処理フローでオブジェクト間の基本フローを作成する方法を示しています。
処理フローツールには高い汎用性があります。つまり、他の方法では作成するのが難しいカスタムフローをオブジェクト間に作成する必要がある場合は、処理フローツールを使用するのが理想的です。詳細については、「処理フローインターフェイスの概要」を参照してください。
AGV
無人搬送車(AGV)とは、ある目的地から別の目的地へ商品を輸送するように設計された携帯型ロボットです。AGVシステムは現在、材料のハンドリング、製造などの分野でさまざまな用途に使用されています。AGVオブジェクトとツールを使用して、AGVでの輸送を実験することができます。詳細については、「AGVネットワークについての主要な概念」を参照してください。