diff --git a/Rs.DeweyTester/Commom/BarCodeHelper.cs b/Rs.DeweyTester/Commom/BarCodeHelper.cs
new file mode 100644
index 0000000..f021b39
--- /dev/null
+++ b/Rs.DeweyTester/Commom/BarCodeHelper.cs
@@ -0,0 +1,24 @@
+using Rs.Framework;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Threading.Tasks;
+
+namespace Rs.MotionPlat.Commom
+{
+ public static class BarCodeHelper
+ {
+ public static bool CheckSnLength(string sn)
+ {
+ //string reg = "^[ABCDEFGHJKLMNPQRSTUVWXYZ 0-9 + -]+$";
+ string reg = "^[A-Z 0-9 + -]+$";
+ if (Regex.IsMatch(sn, reg))
+ {
+ return true;
+ }
+ return false;
+ }
+ }
+}
diff --git a/Rs.DeweyTester/Flow/NormalFlow/DischargeFlow.cs b/Rs.DeweyTester/Flow/NormalFlow/DischargeFlow.cs
index a4d4ebe..4f083eb 100644
--- a/Rs.DeweyTester/Flow/NormalFlow/DischargeFlow.cs
+++ b/Rs.DeweyTester/Flow/NormalFlow/DischargeFlow.cs
@@ -21,6 +21,7 @@ using System.Linq;
using System.Net.Http;
using System.Runtime.CompilerServices;
using System.Text;
+using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
@@ -383,9 +384,25 @@ namespace Rs.MotionPlat.Flow
{
if((ret!= null && ret.Result== EOneGrabSixteenResult.Ok) ||(ret!=null &&ret.Result== EOneGrabSixteenResult.LocationOkScanBarcodeFail && GlobalVar.EnableVirtualBarCode) || GlobalVar.RunSpace)
{
- StockTakeFlow.Instance.Take( ETrayType.Input, takeSlotIndex, NozzleManager.GetIdelNozzle().NozzleIndex);
- takeSlotIndex++;
- flowStep = EDischargeFlowStep.判断是否需要从料仓取料;
+ if(BarCodeHelper.CheckSnLength(ret.SN)|| GlobalVar.RunSpace || (ret != null && ret.Result == EOneGrabSixteenResult.LocationOkScanBarcodeFail && GlobalVar.EnableVirtualBarCode))
+ {
+ StockTakeFlow.Instance.Take(ETrayType.Input, takeSlotIndex, NozzleManager.GetIdelNozzle().NozzleIndex);
+ takeSlotIndex++;
+ flowStep = EDischargeFlowStep.判断是否需要从料仓取料;
+ }
+ else
+ {
+ LogHelper.Debug(GetClassName() + $"检测到二维码={ret.SN}长度和设置的长度={GlobalVar.BarcodeLength}不一致");
+ Nozzle idleNozzle = NozzleManager.GetIdelNozzle();
+ StockTakeFlow.Instance.Take(ETrayType.Input, ret.SlotIndex, idleNozzle.NozzleIndex);
+ if (NozzleManager.GetNozzle(idleNozzle.NozzleIndex).Product != null)
+ {
+ //NozzleManager.GetNozzle(idleNozzle.NozzleIndex).Product.SN = "SLK11111111PNK60X";
+ NozzleManager.GetNozzle(idleNozzle.NozzleIndex).Product.SN = ScanFailNGHelper.GetSn();
+ }
+ takeSlotIndex++;
+ flowStep = EDischargeFlowStep.判断是否需要从料仓取料;
+ }
}
else
{
@@ -412,6 +429,7 @@ namespace Rs.MotionPlat.Flow
{
LogHelper.Debug(GetClassName() + $"{JsonConvert.SerializeObject(fixtureret)}");
//if (fixtureret.SN.Length == GlobalVar.BarcodeLength)
+ if(BarCodeHelper.CheckSnLength(fixtureret.SN))
{
try
{
@@ -429,25 +447,35 @@ namespace Rs.MotionPlat.Flow
Msg.ShowError(ex.Message);
}
}
- //else
- //{
- // try
- // {
- // LogHelper.Debug(GetClassName() + "检测到二维码长度和设置的长度不一致,弹框报警");
- // //报警弹框
- // alarmEntity = AlarmCollection.Get(AlarmConstID.二维码长度异常报警).Transform(ret.SlotIndex);
- // EButtonType buttonSelect = Msgbox.ShowDialog(alarmEntity, EButtonType.Retry, true);
- // if (buttonSelect == EButtonType.Retry)
- // {
- // logInfo = GetClassName() + "选择了重试";
- // MessageQueue.Instance.Insert(logInfo);
- // }
- // }
- // catch (Exception ex)
- // {
- // Msg.ShowError(ex.Message);
- // }
- //}
+ else
+ {
+ try
+ {
+ LogHelper.Debug(GetClassName() + $"检测到二维码={fixtureret.SN}长度和设置的长度={GlobalVar.BarcodeLength}不一致");
+ Nozzle idleNozzle = NozzleManager.GetIdelNozzle();
+ StockTakeFlow.Instance.Take(ETrayType.Input, ret.SlotIndex, idleNozzle.NozzleIndex);
+ if (NozzleManager.GetNozzle(idleNozzle.NozzleIndex).Product != null)
+ {
+ //NozzleManager.GetNozzle(idleNozzle.NozzleIndex).Product.SN = "SLK11111111PNK60X";
+ NozzleManager.GetNozzle(idleNozzle.NozzleIndex).Product.SN = ScanFailNGHelper.GetSn();
+ }
+ takeSlotIndex++;
+ exit = true;
+ flowStep = EDischargeFlowStep.判断是否需要从料仓取料;
+ ////报警弹框
+ //alarmEntity = AlarmCollection.Get(AlarmConstID.二维码长度异常报警).Transform(ret.SlotIndex);
+ //EButtonType buttonSelect = Msgbox.ShowDialog(alarmEntity, EButtonType.Retry, true);
+ //if (buttonSelect == EButtonType.Retry)
+ //{
+ // logInfo = GetClassName() + "选择了重试";
+ // MessageQueue.Instance.Insert(logInfo);
+ //}
+ }
+ catch (Exception ex)
+ {
+ Msg.ShowError(ex.Message);
+ }
+ }
}
else if (fixtureret != null && fixtureret.Result == EOneGrabSixteenResult.LocationOkScanBarcodeFail)
{
@@ -1198,5 +1226,4 @@ namespace Rs.MotionPlat.Flow
}
}
}
-
}
diff --git a/Rs.DeweyTester/Flow/NormalFlow/GrrFlow.cs b/Rs.DeweyTester/Flow/NormalFlow/GrrFlow.cs
index 97357f4..997b6fc 100644
--- a/Rs.DeweyTester/Flow/NormalFlow/GrrFlow.cs
+++ b/Rs.DeweyTester/Flow/NormalFlow/GrrFlow.cs
@@ -278,14 +278,15 @@ namespace Rs.MotionPlat.Flow
if ((vProductResult != null && vProductResult.Result == EOneGrabSixteenResult.Ok) || GlobalVar.RunSpace)
{
//if(vProductResult.SN.Length==GlobalVar.BarcodeLength)
+ if(BarCodeHelper.CheckSnLength(vProductResult.SN) || GlobalVar.RunSpace)
{
flowStep = EGrrFlowStep.到料仓取料位上方;
}
- //else
- //{
- // alarmEntity = AlarmCollection.Get(AlarmConstID.二维码长度异常报警);
- // Msgbox.ShowDialog(alarmEntity, EButtonType.Retry, true);
- //}
+ else
+ {
+ alarmEntity = AlarmCollection.Get(AlarmConstID.二维码长度异常报警);
+ Msgbox.ShowDialog(alarmEntity, EButtonType.Retry, true);
+ }
}
else if (vProductResult != null && vProductResult.Result == EOneGrabSixteenResult.LocationOkScanBarcodeFail)
{
diff --git a/Rs.DeweyTester/Properties/AssemblyInfo.cs b/Rs.DeweyTester/Properties/AssemblyInfo.cs
index 86be4aa..385fcaa 100644
--- a/Rs.DeweyTester/Properties/AssemblyInfo.cs
+++ b/Rs.DeweyTester/Properties/AssemblyInfo.cs
@@ -31,6 +31,6 @@ using System.Runtime.InteropServices;
//
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
- [assembly: AssemblyVersion("20.25.38.1")]
+ [assembly: AssemblyVersion("20.25.39.1")]
//[assembly: AssemblyVersion("1.0.0.0")]
//[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/Rs.DeweyTester/Rs.DeweyTester.csproj b/Rs.DeweyTester/Rs.DeweyTester.csproj
index e4c10cc..6f9bb25 100644
--- a/Rs.DeweyTester/Rs.DeweyTester.csproj
+++ b/Rs.DeweyTester/Rs.DeweyTester.csproj
@@ -135,6 +135,7 @@
+