こんにちは。渡邊です。
今回は「AGVの配車ルール変更」についてのトピックスです。
その他、+α も有りますので、最後までお付き合い下さい。
まずは、「VehicleManager」カタログの機能についてお話します。
VehicleManagerの機能
Vehiclesプロパティに設定されたVisual*1に対して、次の搬送動作を指示します。
「Startコネクタに接続したVisual」に到着したワークを「Endコネクタに接続したVisual」へ搬送。
*1 AGV、フォークリフト、ピープル
「VehicleManager」カタログを利用するメリットは、次の2つかと思います。
① 複数AGV × 複数ステーションのコネクタ接続を個別接続する時に発生する「接続漏れ」「接続誤り」や「接続自体の手間」が無くなる事。
② 配車ルールや搬送先指定を一か所でコントロール出来る事からシミュレーションルールが管理しやすくなります。
AGVの選択基準
Vehiclesプロパティに設定されたAGVからどれを搬送対象へ引取りに行かせるかは、標準の「VehicleManager」では次に従って決定されます。
・未割当AGVリストのAGV、且つ、最も古い登録のAGVを選択 ⇒概要図 ②未割当AGVリストから1台を取得
・搬送指示されたAGVは未割当AGVリストから削除 ⇒概要図 ②未割当AGVリストから1台を取得
・搬送完了時に該当AGVを未割当AGVリストに登録 ⇒概要図 ⑨移載完了通知を挙げたAGVを未割当AGVリストに追加
VehicleManager処理概要
課題
デフォルトの配車ルールは、
「搬送中以外のAGVの中から、前回の搬送が早く完了したAGVを選択」
する事になりますが、ユーザー様としては下記の条件でシミュレーションしたいと言ったニーズも有り、デフォルトのルールでは対応出来ません。
ニーズ1 : 搬送元に最も近いAGVを割り当てたい
ニーズ2 : 搬送完了後、(一定のルールに従って)ホームポジションに戻らせたい
ニーズ3 : 搬送回数が少ないAGVを割り当てしたい
ニーズ4 : 引取り完了時に、搬送先を再割当てしたい
解決方法
ニーズ1 : 搬送元に最も近いAGVを割り当てたい
「VehicleManager」において、AGV配車処理をしているイベントは「OnRxTransferStarted」となります。 ⇒VehicleManager処理概要②
本イベント内に記述されている処理を、次のフローに書き換える事で可能です。
①Vehiclesリストの全AGVに対して下記を実施
① - 1 搬送元迄の距離を取得
① - 2 <現時点での割り当て候補>の距離と比較して、最短であれば<現時点での割当て候補>とする
②最後に残った<現時点での割り当て候補>のAGVを引取り対象に決定
ニーズ2 : 搬送完了後、(一定のルールに従って)ホームポジションに戻らせたい
「VehicleManager」において、AGVの搬送完了を通知するイベントは「OnTxTransferComplete」となります。⇒VehicleManager処理概要⑨
本イベント内に記述されている処理を、次のフローに書き換える事で可能です。
①AGVをホームポジションへ移動させる
②AGVを未割当リストへ登録
ニーズ3 : 搬送回数が少ないAGVを割り当てしたい
「VehicleManager」において、AGV配車処理をしているイベントは「OnRxTransferStarted」となります。 ⇒VehicleManager処理概要②
本イベント内に記述されている処理を、次のフローに書き換える事で可能です。
①Vehiclesリストの全AGVに対して下記を実施
① - 1 他AGVの処理回数と比較して、最小であれば現時点での割当て候補とする
②最後に残った現時点での割り当て候補を引取対象AGVとする
ニーズ4 : 引取り完了時に、搬送先を再割当てしたい
「VehicleManager」において、搬送先を定義しているイベントは「OnProcessComplete」となります。 ⇒VehicleManager処理概要⑤
デフォルト処理の状態で引取完了後に搬送先を定義していますので、本件については変更の必要はありません。
次回の木曜は「AGVの配車ルール変更②」です。
解決方法で提示しましたフローに対して具体的手法で解説致します。
少しお待たせしますが、是非ご覧ください。
コメントをお書きください