Conveyor
Objectから継承します。
説明
コンベヤの監視と制御で使用するプロパティおよびメソッドを利用可能にするクラスです。
プロパティ
acceleration | コンベヤの加速度を取得します。 |
currentSpeed | コンベヤの現在の速度を取得します。 |
deceleration | コンベヤの減速度を取得します。 |
defaultSpeed | コンベヤのデフォルト速度を取得します。これは、コンベヤがシミュレーションの始まりで開始する速度です。 |
itemData | コンベヤ上のアイテムに関連付けられたコンベヤ固有のデータにアクセスします。 |
length | コンベヤのシミュレートされた長さを取得します。 |
motor | コンベヤの割り当てられたモーターを取得します。 |
slugBuilder | コンベヤのスラッグ構築ステータスに関連付けられたデータを取得します。 |
targetSpeed | コンベヤの現在の目標速度を取得または設定します。 |
width | コンベヤの幅を取得します。 |
静的メソッド
estimateConveyTime | アイテムがコンベヤシステムのある部分から別の部分に移動する時間を推定します。 |
sendItem | コンベヤシステム内のアイテムの目標目的地を設定します。 |
詳細
Conveyor.itemData
readonly itemData
説明
コンベヤ上のアイテムに関連付けられたコンベヤ固有のデータにアクセスします。
コンベヤ上で現在アイテムに関連付けられているConveyor.Itemのセットにアクセス権を付与します。
itemData.lengthを使用して、コンベヤ上のアイテムの数を取得します。
Conveyor conveyor = param(1);
int numItems = conveyor.itemData.length;
itemData.lengthは、conveyor.subnodes.lengthとは異なる場合があることに注意してください。アイテムによっては、コンベヤ上に部分的に存在するが、コンベヤのサブツリー内に存在しない場合があるためです。conveyover.itemData.lengthは、必ず、conveyor.subnodes.length以上になるはずです。
conveyor.subnodes.length; // the number of items in the conveyor's subtree
conveyor.itemData.length; // the total number of all items partially-or-wholly on the conveyor.
ランク別のアイテムデータにアクセスするには、[ ]演算子を使用してconveyor.itemDataにインデックスを付けることができます。
conveyor.itemData[1]; // gets the data associated with the most downstream item on the conveyor
conveyor.itemData[conveyor.itemData.length]; // gets the data associated with the most upstream item on the conveyor
同様に、[ ]演算子を使用して、特定のアイテムに関連付けられたitemDataにアクセスすることもできます。
Object item = param(2);
Conveyor.Item conveyorItem = conveyor.itemData[item];
詳細については、「Conveyor.Item」を参照してください。
Conveyor.slugBuilder
readonly Conveyor.SlugBuilder slugBuilder
説明
コンベヤのスラッグ構築ステータスに関連付けられたデータを取得します。
このオブジェクトは、コンベヤが統合コントローラーオブジェクトに接続されているときのみ存在します。
Conveyor.targetSpeed
double targetSpeed
説明
コンベヤの現在の目標速度を取得または設定します。
この値を設定すると、コンベヤの速度が目標速度に変化します。コンベヤの加速度/減速度によって、目標速度に到達するまでにかかる時間が決定されます。
コンベヤの向きを反転させる
コンベヤのtargetSpeedをゼロ以外の負の値に設定すると、コンベヤが逆方向を向きます。コンベヤの向きが反転すると、次の事象が発生します。
- コンベヤ上で停止していたすべてのアイテムが完全に再開します。
- コンベヤ上の各アイテムが移動中状態に設定されます。
- 各アイテムの目標目的地が消去されます。たとえば、アイテムがConveyor.sendItem()メソッドを使用してシステム内のあるポイントに送信されることになっていた場合は、その目的地が失われます。
- 各アイテムは、コンベヤが反転した時点で存在していたコンベヤ上のポイントに入っているかのように、フォトアイや決定点などの横断ポイントのリストを生成し直します。
このコンベヤ反転機能は、蓄積バッファをシミュレートする能力をモデラーに与えることを目的とした、非常に特殊なシナリオを念頭に置いて設計されています。蓄積バッファでは、メインコンベヤラインが渋滞しているときにアイテムをラインから撤去し、ラインがクリアされたときアイテムを戻すことができます。このシナリオでしかテストされていません。他のシナリオに対するリバーシブルコンベヤの使用はテストされていないため、部分的にしか動作しない、またはまったく動作しない可能性があります。
注意事項:
- 方向反転が起きたときにアイテムが2つのインライン転送にまたがっていた場合は、アイテムがまたがっている両方のコンベヤを同時に反転する必要があります。それ以外のやり方では、未定義の動作が発生します。
- アイテムは、方向反転が起きたときに複数のコンベヤにまたがることができないため、例外がスローされます。
- コンベヤの方向が反転すると、内部ルーティングテーブルが更新されません。これは、ルーティングの目的では、つまり、アイテムをシステム内の目的地点に送信している場合は、常に、コンベヤがそのオリジナルの方向に搬送しているものとされることを意味します。
Conveyor.estimateConveyTime()
static double estimateConveyTime( Object origin , double n_a , Object dest , double n_a , double itemLength , int flags = 0 ) |
パラメータ
origin | コンベヤ時間を推定するための原点。コンベヤと決定点やフォトアイなどのコンベヤ上の1つのポイントのどちらかにする必要があります。 |
dest | 時間推定用の目的地点。コンベヤと決定点やフォトアイなどのコンベヤ上の1つのポイントのどちらかにする必要があります。 |
n_a | 将来使用のため予約。0にする必要があります。 |
itemLength | 推定アルゴリズム用のアイテム長を定義します。コンベヤ転送で定義された速度に応じて結果に影響を与える可能性があります。 |
flags | 0とCONV_ESTIMATE_STANDARD_SPEEDSのどちらかにすることができます。0(デフォルト)の場合は、推定アルゴリズムが、スラッグ構築コンベヤがスラッグリリース速度で搬送するものと仮定します。CONV_ESTIMATE_STANDARD_SPEEDSが定義された場合は、推定アルゴリズムが通常の搬送速度を使用します。 |
戻り値
double | 指定されたサイズのアイテムが、アイテムの中心が原点にあるポイントからアイテムの中心が目的地点にあるポイントまで移動するのに要する推定シミュレーション時間。ブロックはないものとします。 |
説明
アイテムがコンベヤシステムのある部分から別の部分に移動する時間を推定します。
DecisionPoint src = current;
DecisionPoint dest = current.outObjects[1];
Object item = param(1);
double conveyTime = Conveyor.estimateConveyTime(src, 0, dest, 0, item.size.x);
推定中に、アルゴリズムは、必ず、デフォルトのコンベヤ速度(現在のコンベヤ速度ではなく)を前提とします。スロッグ構築コンベヤの推定速度は、flagsパラメータによって決定されます。
Conveyor.sendItem()
static void sendItem( Object item , Object dest ) |
パラメータ
item | 目標目的地を設定するアイテム。 |
dest | 目標目的地。コンベヤシステム上のアイテムの現在位置から到達可能な、コンベヤシステム内のポイントへの参照にする必要があります。決定点、フォトアイ、ステーション、出口転送のいずれかにする必要があります。 |
説明
コンベヤシステム内のアイテムの目標目的地を設定します。
Conveyor.sendItem(item, current.outObjects[1]);
アイテムの目標目的地が設定されると、アイテムは、その定義された目的地までのコンベヤシステム内の最短ルートを取ります。