|
@@ -422,6 +422,16 @@ namespace WCS.Service.Extensions
|
|
|
return DevEX.Distance(Position, after.Position, Length);
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 计算当前RGV与指定RGV之间的距离
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="after"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ public float Distance(StationDeviceGroup after)
|
|
|
+ {
|
|
|
+ return DevEX.Distance(Position, after.Position, Length);
|
|
|
+ }
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 是否可用
|
|
|
/// </summary>
|
|
@@ -490,10 +500,9 @@ namespace WCS.Service.Extensions
|
|
|
var target = rgv.Data2.DestPosition_1;
|
|
|
//获取目标站台的设备组信息
|
|
|
var station = Device.Find($"G{target}").Create<StationDeviceGroup>();
|
|
|
- if (station.Position < Data2.Position && station.Entity.CODE != "G1") return false;
|
|
|
|
|
|
//当前RGV与目标站台的距离小于传入RGV到达目标站台的距离
|
|
|
- return station.Distance(this) < station.Distance(rgv);
|
|
|
+ return (this.Distance(station) < rgv.Distance(station)) || station.CurrentRGV()?.Entity == this.Entity;
|
|
|
}
|
|
|
|
|
|
/// <summary>
|