AGV.AllocationPoint

AGV.TraversalPointから継承します。

説明

予定されるAGV割り当てについての情報から成る構造体です。

AGVは移動オペレーションを開始するたびに、目的地への移動パスを構築します。このパス構築フェーズで、AGVはパス上で割り当て可能なオブジェクトを検出するたびに、パス上の定義済みの地点でこのオブジェクトを割り当てなければならないことを示すために割り当てポイントを作成します。割り当てポイントは、コントロールポイントコントロールエリア、または集積パスを通過するときのパス転送のいずれかの割り当てを表します。

AGVクラスには配列状の構造体であるallocationPointsプロパティがあり、そこにはAGVの現在の移動パス上にある(まだオブジェクトを割り当てていない)すべての割り当てポイントが含まれています。さらに、割り当てポイントは、AGV.AllocatableObjectrequestsプロパティとallocationsプロパティでアクセスする要素でもあります。

//Printing an AGV's allocation points
AGV agv = AGV(current);
for (int i = 1; i <= agv.allocationPoints.length; i++) {
	AGV.AllocationPoint point = agv.allocationPoints[i];
	print(
		" agv ", point.agv.as(treenode), 
		" object ", point.object, 
		" stopDist ", point.stopDist, 
		" arrivalDist ", point.arrivalDist, 
		" transferPath ", point.transferPath, 
		" transferDistAlong ", point.transferDistAlong);
}

プロパティ

allocator 割り当てを「所有する」オブジェクト。
arrivalDist AGVがターゲットオブジェクトに「到着」するための移動距離
object 割り当てるオブジェクト。
requestState 割り当てポイントのリクエストの状態。
deallocDist オブジェクトの割り当てができない場合にAGVを停止する時点でのAGVの移動距離
transferDistAlong 割り当てる転送の所有パスに沿った距離。
transferPath 割り当てる転送の所有パス。

メソッド

deallocate 関連オブジェクトの割り当てを解除し、割り当てポイントを破棄し、待機中の次の割り当てリクエストがオブジェクトにある場合は、それを実行します。
event 割り当てポイントのObject.eventを複製します。

詳細

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

AGV.AllocationPoint.allocator

readonly Object allocator

説明

割り当てを「所有する」オブジェクト。

通常は、オブジェクトを割り当てるAGVです。ただし、コントロールエリアがA*メンバーの場合はA*歩行者となる場合があり、ユーザーがAGV.AllocatableObject.allocate()を呼び出す際にはユーザー自身が定義するオブジェクトとなります。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

AGV.AllocationPoint.arrivalDist

readonly double arrivalDist

説明

AGVがターゲットオブジェクトに「到着」するための移動距離

AGVはオブジェクトに到達する前にオブジェクトを割り当てる必要があるため、パス沿いのこの距離は、ほぼ常にstopDistより長くなります。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

AGV.AllocationPoint.object

readonly AGV.AllocatableObject object

説明

割り当てるオブジェクト。

割り当てポイントの対象がコントロールポイントまたはコントロールエリアの場合、これは有効なポインターであり、それ以外の場合はnullです。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

AGV.AllocationPoint.requestState

readonly AGV.RequestState requestState

説明

割り当てポイントのリクエストの状態。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

AGV.AllocationPoint.stopDist

double stopDist

説明

オブジェクトの割り当てができない場合にAGVを停止する時点でのAGVの移動距離

このプロパティの値は設定可能ですが、AGVの移動オペレーションの定義された時間にのみ設定できます。具体的に言うと、OnBuildTravelPathイベントが起動された後(またはこのトリガーの一部として)、かつ、OnPreAllocateの前に設定する必要があります。その他の時間に設定する場合、動作は保証されません。なお、AGV.allocationPoints配列はstopDist値の順に並べ替えが行われるため、この値を設定した場合、この順序を維持するために、AGVのallocationPoints配列内の割り当てポイントのインデックスが変わる可能性があります。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

AGV.AllocationPoint.transferDistAlong

readonly double transferDistAlong

説明

割り当てる転送の所有パスに沿った距離。

割り当てポイントの対象がパス転送の場合、これは有効な距離であり、それ以外の場合は未定義です。つまり、割り当てポイントの対象が転送である(transferPathがnullでない)と判明している場合に限り、このプロパティにアクセスする必要があります。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

AGV.AllocationPoint.transferPath

readonly Object transferPath

説明

割り当てる転送の所有パス。

割り当てポイントの対象がパス転送の場合、これは有効なポインターであり、それ以外の場合はnullです。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

AGV.AllocationPoint.deallocate()

void deallocate( )

説明

関連オブジェクトの割り当てを解除し、割り当てポイントを破棄し、待機中の次の割り当てリクエストがオブジェクトにある場合は、それを実行します。

このメソッドを呼び出す必要があるのは、AGV.AllocatableObject.allocate()を使用してオブジェクトをプログラムで割り当てた場合に限られます。それ以外の場合、割り当て解除は自動的に行われます。requestStateがAllocated以外のときにこのメソッドを呼び出すと、単に割り当てポイントが破棄されるだけであり、事実上リクエストのキャンセルとなります。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

AGV.AllocationPoint.event()

Event event( string eventName )

パラメータ

eventName イベントの名前。

戻り値

Event 結果のイベント。

説明

割り当てポイントのObject.eventを複製します。

AGV.AllocationPointはオブジェクトではなく、当然このメソッドを持たないため、明示的に複製されます。AGV.AllocationPointで使用できる唯一のイベントは「OnAllocate」です。つまり、コード内では、割り当て完了を待ち受けるためにこのメソッドを使用します。

AGV.AllocationPoint alloc = controlArea.allocate(current);
if (alloc.requestState == AGV.RequestState.Requested) {
	... // do stuff if the object was not allocated immediately
	await alloc.event("OnAllocate");
}
... // do stuff once the control area is allocated.