マスフローコンベヤ

概要と主要な概念

マスフローコンベヤは、大量のマスフロー単位のフローをシミュレートすることができます。コンベヤでは、各離散単位のシミュレートではなく、流体に類似したロジックを使用します。数千のボトル、カートン、またはその他の小さなピースを個別にシミュレートする代わりに、製品の密度を処理します。

上記のアニメーションでは、多くの「単位」が描画されていますが、実際には描画上の見せかけに過ぎません。レンダリングエンジンは、コンベヤ上の特定ポイントの密度に基づいてボトルを描画しているだけで、各ボトルを実際にシミュレートしているわけではありません。むしろ、オレンジ色の線の移動のみが実際にシミュレートされている要素です。これはコンベヤ上の密度/レートの変化を表しています。この方法により、個々のボトルのシミュレーション速度が大幅に改善されます。

マスフローコンベヤは、ボトル飲料や食料品の生産、その他の高速/大量生産の設定で特に有用です。これらの環境では、製品の量が莫大で、各ピースを個別にシミュレートすることは不可能なためです。

動作

フローを生成する

コンベヤ上のマスフロー単位のフローを生成するには、2通りの方法があります。最も簡単な方法はコンベヤの生成レートプロパティを定義することです。この値がゼロでない場合、コンベヤはフロー単位のソースとして機能します。シミュレーションを開始すると、フロー単位は即座にコンベヤ上で移動を開始します。

コンベヤ上のフローを生成する別の方法は、マスフロー入口の転送を使用することです。このオブジェクトは、任意の固定リソースとコンベヤへの「A」接続によって作成できます。作成後、離散フローアイテムをフロー単位に変換する方法をプロパティで定義できます。

フローを下流に分配する

コンベヤが複数の下流コンベヤを持つ場合、下流コンベヤに移動するフローをどのように分配するかを選択する必要があります。これは、アイテムが固定リソースからリリースされたとき起動するポートに送信ロジックに似ていますが、シミュレートされている離散アイテムはありません。マスフローコンベヤは代わりとして、離散ルーティングの決定ではなくフローレートのバランシング計算を伴うアルゴリズムを使用する必要があります。

マスフローコンベヤは次のアルゴリズムを使用してフローを下流コンベヤに分配します。

  1. 下流コンベヤを並べ替え:コンベヤは、一連の下流コンベヤを上流の出力順序プロパティの昇順に並べ替えます。たとえば、上流の出力順序の値1は、上流の出力順序の値2の前に並べられます。
  2. 相互に関連付けられた複数の下流コンベヤ間でフローを分配:上流の出力順序の最小値から開始し、同じ上流の出力順序を持つ下流コンベヤの各グループについては、コンベヤはそのコンベヤグループ内で出力フローを均等に分配します。この分配は、下流コンベヤの幅によって重み付けされます。たとえば、あるコンベヤには上流の出力順序の値1を持つ下流コンベヤが2つあり、それらのコンベヤの1つが幅0.5m、もう1つのコンベヤが幅1mだとします。ここで、コンベヤがフローレートの3分の1を0.5mコンベヤに、フローレートの3分の2を1mコンベヤに送るとします。それらのコンベヤの1つ以上がそのフローレート量を受け取れない場合(たとえば、速度が遅いため)、ブロックされた量がグループのその量を受け取れるコンベヤの幅で重み付けされて、それらのコンベヤにおいて再分配されます。
  3. 次の上流の出力順序に進む:現在の下流コンベヤグループが取り込まなかった残留フローがある場合、次に高い上流の出力順序の値を持つコンベヤグループにコンベヤが進み、ステップ2の分配計算を再度使用します。これは全コンベヤの出力フローレートが下流コンベヤに割り当てられるか、全下流コンベヤがその最大フローレートを受け取るまで進められます。
  4. 過剰分の集積/損失:下流コンベヤに割り当てられなかった残留フローがある場合、コンベヤはこの過剰分を集積するか、損失分(あたかも製品がコンベヤ端から落ちたかのように)として追跡します。これは、過剰分プロパティの設定によって決まります。

イベント

マスフローコンベヤには、標準イベントセット以外のイベントを設定できません。代わりとして、フォトアイを使用してコンベヤロジックを定義することができます。

イベントの詳細については、「イベントリスニング」ページを参照してください。

状態

統計的な目的で、コンベヤは、シミュレーション実行中、さまざまな位置で次のいずれかの状態になります。オブジェクトをクリックし、[プロパティ]の[統計]パネルを表示すると、現在の状態を表示できます。

コンベヤにアイテムはありません。

搬送中

コンベヤに少なくとも1つのアイテムがあります。

停止

コンベヤに少なくとも1つのアイテムがありますが、コンベヤの速度はゼロに設定されています。コンベヤは、速度がゼロに設定されると(ゼロに減速し始めたときなど)すぐにこの状態になります。

統計

コンベヤは以下の統計を追跡します。これらは、オブジェクトをクリックし、[プロパティ]の[統計]パネルを選択することで表示できます。

コンテンツ

コンベヤのフロー単位の数。

入力

コンベヤに入ったフロー単位の合計。

出力

コンベヤから出たフロー単位の合計。

損失

過剰分]プロパティを[損失として追跡]に設定している場合、この統計は、下流コンベヤを進まずにコンベヤ端から脱落したフロー単位の量を追跡します。

プロパティパネル

マスフローコンベヤでは、次のプロパティパネルを使用します。

プロパティ

マスフローコンベヤは、次のプロパティを使用します。

プロパティタイプ
AlignToSideオプション
EndLocation配列(3)
Speed単位
StartLocation配列(3)
UseVirtualLengthブール値
VirtualLength単位
Visualizationノードオプション
Width単位
ExcessModeオプション
GenerativeFlowRate数字
GenerativeFlowUnitオプション
UpstreamOutputOrder数字
WidthRuleオプション
WidthValue数字

直線マスフローコンベヤは、次のプロパティを使用します。

プロパティタイプ
HorizontalLength単位

曲線マスフローコンベヤは、次のプロパティを使用します。

プロパティタイプ
半径単位
開始角度数字
掃引角度数字

マスフローコンベヤの背後で行われる計算

マスフローレートは、次の3つの主要な設定によって決まります。

  • ユニットの寸法($U_x$, $U_y$)
  • コンベヤの速度($S$)
  • コンベヤの幅($W$)

これらを踏まえ、いくつかの基本的な方程式を使用してフローレートと密度が求められます。

${\large F = D W S}$
${\large D_{max}} = \Large{\frac{R}{U_x U_y}}$

${R = \begin{cases}\frac{2}{\sqrt{3}} \approx 1.15 \ \text{\ \ 丸い単位の場合} \\ 1 \text{\ \ 上記以外} \end{cases}}$
$F$ - フローレート。時間当たりのフロー単位数で表す。例:$\frac{\text{単位数}}{\text{s}}$
$D$ - 密度。面積当たりのフロー単位数で表す。例:$\frac{\text{単位数}}{\text{m}^2}$
$R$ - 「丸い単位の係数」。丸いボトルはギャップに収まるため、最大密度が増加する

正方形の各カートンの占有面積が次のとおりであると仮定します。

${\large U_{x/y} = 0.05\text{m} \times 0.05\text{m} = 0.0025 \text{m}^2}$

正方形の単位の場合、$R = 1$であるため、今回の計算ではこの値を無視できます。このようなカートンに適用可能な最大カートン密度を求めると次のようになります。

${\large D_{max} = \frac{1}{U_x U_y} = \frac{1}{0.0025} = 400 \frac{\text{カートン}}{\text{m}^2}}$

コンベヤの幅が0.5メートルで、移動速度が$0.1 \frac{\text{m}}{\text{s}}$と仮定します。このコンベヤの最大フローレートを求めると次のようになります。

${\large F_{max} = D_{max} W S} = 400 \times 0.5 \times 0.1 = 20 \frac{\text{カートン}}{\text{s}}$

ここで、このコンベヤでカートンを$10 \frac{\text{カートン}}{\text{s}}$の速度で流すと仮定します。上記の方程式を使用して、このコンベヤを流れるカートンの密度を求めると、次のようになります。

${\large D = \frac{F}{W S} = \frac{10}{0.5 \times 0.1} = 200 \frac{\text{カートン}}{\text{m}^2}}$

コンベヤを流れるボトルの密度は$200 \frac{\text{カートン}}{\text{m}^2}$、つまり、そのカートンの最大密度の半分です。そのため、FlexSimは、コンベヤを流れるこれらの単位を表示するとき、フローレート10(つまり最大値の半分)の時点でのコンベヤをレンダリングします。基本的に、グラフィックスアルゴリズムを使用して、コンベヤが最大値の半分に見えるように表示します。個々のボトルの追跡は行いません。

計算が重要な理由

基本的なモデルを実行する場合、必ずしもこの計算を理解しておく必要はありませんが、モデルを特定の状況に合わせて微調整する場合は、内部でどのような計算が行われるかを理解しておくと役立ちます。たとえ3Dビューで離散単位が描画されている場合でも、内部的にはフローレートと密度を処理しているにすぎないという点を理解しておく必要があります。この世界ではすべての数量は「流体」であり、小数は有効です。

これらの方程式を理解すると、モデルのプロパティを調整して、必要な動作を正確に作成できます。数量$U_x$、$U_y$、$R$は、マスフローユニットで定義する属性にのみ依存するため、モデル内のすべてのコンベヤで共通です(これらのコンベヤで同じフロー単位が移動すると仮定した場合)。一方、値$W$と$S$はコンベヤ固有のプロパティであり、コンベヤごとに定義します。そのため、これらの値はコンベヤごとに必要に応じて調整できます。速度値$S$については、実際の環境に忠実に定義したいと考えがちではありますが、幅値$W$は、必要な動作を正確に作成するためにカスタマイズできます。この目的で、コンベヤには[幅の規則]プロパティが用意されています。

たとえば、コンベヤの実際の幅に関係なく、コンベヤで単一レーンをシミュレートしたいと考えるかもしれません。あるいは、単一レーンのボトルやカートンなどの間にある程度の「ギャップ」を定義したいと考えることもあるでしょう。個々のボトルの間に文字どおりにギャップを強制することはできません。マスフローコンベヤには、個々のボトルといった概念はないためです。むしろ、目的のフローレートを得るために、前述のフローレートの方程式で値を調整します。特に、前述の方程式で$W$値を設定して、目的の単位フローレートを獲得します。

幅の規則]には、シミュレーション幅$W$を定義するためにさまざまなオプションが用意されています。そのため、このプロパティを使用すれば、必要な動作を簡単に設定できます。

例 - 不良ボトル

不良ボトルの一定の割合を施設の別のエリアに移したいと仮定します。たとえば、ボトルの0.1%を別のエリアに移すことにします。そのためには、次の手順を実行します。

  1. マスフローコンベヤを作成し、ボトルを移すポイントにコンベヤをアタッチします。
  2. このマスフローコンベヤの[仮想幅]の値を、「0.001×メインラインコンベヤの幅」にします。
  3. マスフローコンベヤの[速度]と[上流出力順序]の値をメインラインコンベヤと同じにします。

このモデルを実行すると、上流コンベヤのフローレートの0.1%がこの分岐点コンベヤに移されます。その後、このポイントから単位を収集し、離散化できます。

トラブルシューティングと他の概念

チャンク化

マスフロー入口の転送を使用してアイテムをフロー単位に平行移動するとき、「チャンク化」と呼ばれる問題が発生することがあります。これは、コンベヤの速度と幅の設定により、コンベヤが、入口の転送からの供給よりも速くマスフローユニットを受け取ることができることが原因です。入口の転送は、コンベヤによる受け取りと同じ速さでフローをコンベヤに送るため(「マスフロー入口の転送」を参照)入口の転送が送るべき別のアイテムを持つ前に、コンベヤは数量の受け取りを完了します。その結果、コンベヤの入力ポートはすぐにゼロに戻ります。

個別のチャンクが1つの単位長より短くなるようなチャンク化の場合、コンベヤには1つの単位を描くのに十分なスペースがありません。次のコンベヤは空のように見えますが、各チャンクの開始を示す赤い線が引かれています。

このような状態がモデルに見られる場合、モデルの設定が不適切であることを示唆しています。この問題を修正するには、何らかのロジックで速度を変更して、受け取る側のコンベヤの最大フローレートが供給側の入口の転送のフローレートと一致するようにします。

数学的には、上記の方程式に基づき、最大フローレートを次のように仮定します。

$\large{F_{max} = D_{max} W S} = \Large{\frac{W S R}{U_xU_y}}$

この場合、$F_{max}$は既知(入口の転送に入るフローのレート)であり、コンベヤの速度$S$は次のように求めることができます。

$\large{S} = \Large{\frac{F_{max} U_x U_y}{W R}}$

一般に、この式で速度を設定する短いコンベヤが1本ある場合、このコンベヤは、異なる設定を持つ他の下流のコンベヤに供給できます。

サイド転送

マスフローコンベヤを使用するとき、コンベヤを自由にサイドにスナップして「サイド転送」とすることができます。ただし、標準のコンベヤと異なり、マスフローコンベヤはコンベヤの中央でアウトフローまたはインフローを持つことはできません。マスフローコンベヤは、単位が常にコンベヤの前から入り、常にコンベヤの先から出るかのようにフローをシミュレートします。そのため、「サイド転送」はモデル構築の便宜のためにすぎず、コンベヤに沿った配置がインフロー/アウトフローのロジックに影響を与えないとしても、モデルの構築に最も便利な方法でスナップすることができます。