|
@@ -163,7 +163,7 @@ namespace WCS.Service.Extensions
|
|
|
/// <returns></returns>
|
|
|
public float Distance(RGVDevice rgv)
|
|
|
{
|
|
|
- return Math.Abs((Position - rgv.Position) % Length);
|
|
|
+ return DevEX.Distance(Position, rgv.Position, Length);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -173,7 +173,7 @@ namespace WCS.Service.Extensions
|
|
|
/// <returns></returns>
|
|
|
public float Distance(StationDeviceGroup dev)
|
|
|
{
|
|
|
- return Math.Abs((Position - dev.Position) % Length);
|
|
|
+ return DevEX.Distance(Position, dev.Position, Length);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -419,7 +419,7 @@ namespace WCS.Service.Extensions
|
|
|
/// <returns></returns>
|
|
|
public float Distance(RGVDevice after)
|
|
|
{
|
|
|
- return Math.Abs((Position - after.Position) % Length);
|
|
|
+ return DevEX.Distance(Position, after.Position, Length);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -780,8 +780,23 @@ namespace WCS.Service.Extensions
|
|
|
/// <summary>
|
|
|
/// 异常处理
|
|
|
/// </summary>
|
|
|
- public static class ExceptionEX
|
|
|
+ public static class DevEX
|
|
|
{
|
|
|
+ /// <summary>
|
|
|
+ /// 计算两点距离
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="start">起始点</param>
|
|
|
+ /// <param name="end">结束点</param>
|
|
|
+ /// <param name="total">总长</param>
|
|
|
+ /// <returns></returns>
|
|
|
+ public static float Distance(float start, float end, float total)
|
|
|
+ {
|
|
|
+ float distance = 0;
|
|
|
+ if (start > end) distance = (total - start) + end;
|
|
|
+ else distance = end - start;
|
|
|
+ return distance;
|
|
|
+ }
|
|
|
+
|
|
|
public static void DoExceptionEX(this DoException ex, WCS_DEVICE Entity)
|
|
|
{
|
|
|
InfoLog.INFO_INFO($"[{Entity.CODE}]--{ex.Message}");
|