Commit 61e436ae 刘韬

1

1 个父辈 ee002a4b
...@@ -166,28 +166,74 @@ namespace DeviceLibrary ...@@ -166,28 +166,74 @@ namespace DeviceLibrary
MoveInfo.log($"获取点料数量:{c}, 第:{countlist.Count}次"); MoveInfo.log($"获取点料数量:{c}, 第:{countlist.Count}次");
} }
else { else
{
MoveInfo.StopwatchLog(false, "获取图像失败"); MoveInfo.StopwatchLog(false, "获取图像失败");
countlist.Add(-1); countlist.Add(-1);
} }
relmove = ConfigHelper.Config.Get<int>("wiston_relmove", 50);
if (countlist.Count % 2 == 0)
relmove = relmove / 2 * -1;
Line_In_Axis.RelMove(MoveInfo, relmove, Config.Line_In_Relative_speed); Line_In_Axis.RelMove(MoveInfo, relmove, Config.Line_In_Relative_speed);
MoveInfo.StopwatchLog(false, "轻微移动皮带,重试X光点料"); MoveInfo.StopwatchLog(false, $"轻微移动皮带,重试X光点料,relmove:{relmove}");
break; break;
case MoveStep.XRay_Extra_02: case MoveStep.XRay_Extra_02:
var zerocount = countlist.Where((x) => x == 0).Count(); var zerocount = countlist.Where((x) => x == 0).Count();
var hasnumcount = countlist.Where((x) => x > 0 && x<= ConfigHelper.Config.Get<int>("wiston_smaxcount", 10500)).Count(); var selectcount = countlist.Where((x) => x > 0 && x <= ConfigHelper.Config.Get<int>("wiston_smaxcount", 10500)).ToList();
if (hasnumcount <= ptrycount && zerocount<=ptryerrcount)
var hasnumcount = selectcount.Count();
var rightcount = 0;
try
{
selectcount.Sort();
if (hasnumcount % 2 == 1 && hasnumcount >= 5)
{
var m1 = selectcount.ElementAt(hasnumcount / 2 - 1);
var m2 = selectcount.ElementAt(hasnumcount / 2);
var m3 = selectcount.ElementAt(hasnumcount / 2 + 1);
if ((double)m1 / m2 >= 0.988d && (double)m2 / m3 >= 0.988d)
{
rightcount = m2;
}
if (zerocount > ptryerrcount || hasnumcount >= ptrycount + 2)
{
rightcount = m2;
}
MoveInfo.log($"阶段数据:{string.Join(",", countlist)}. 有效数据:{string.Join(",", selectcount)},m1:{m1},m2:{m2},m3:{m3},m1/m2:{(double)m1 / m2:0.000},m2/m3:{(double)m2 / m3:0.000}");
}
else
{
if (zerocount > ptryerrcount)
{
rightcount = selectcount.ElementAt(hasnumcount / 2);
MoveInfo.log($"错误数据过多,结束点料,rightcount:{rightcount}");
}
MoveInfo.log($"阶段数据:{string.Join(",", countlist)}. 有效数据:{string.Join(",", selectcount)}");
}
}
catch (Exception e){
MoveInfo.log(e.ToString());
if (selectcount.Count > 0)
rightcount = selectcount[0];
else {
MoveInfo.NextMoveStep(MoveStep.XRay_Extra_03);
MoveInfo.log($"错误数据过多,结束点料,无有效数据");
MoveInfo.ReelParam.IsNg = true;
MoveInfo.ReelParam.NgMsg = "无有效数据";
MoveInfo.ReelParam.logresult();
}
}
if (rightcount==0)
{ {
MoveInfo.NextMoveStep(MoveStep.XRay_Extra_01); MoveInfo.NextMoveStep(MoveStep.XRay_Extra_01);
MoveInfo.log($"开始第{countlist.Count}次"); MoveInfo.log($"开始第{countlist.Count+1}次");
} }
else else
{ {
MoveInfo.NextMoveStep(MoveStep.XRay_Extra_03); MoveInfo.NextMoveStep(MoveStep.XRay_Extra_03);
var maxcount = countlist.Where((x) => x <= ConfigHelper.Config.Get<int>("wiston_smaxcount", 10500)).Max(); MoveInfo.log($"获取到选定数量{rightcount}, 分别数量:{string.Join(",", selectcount)}, 总数据:{countlist}");
MoveInfo.log($"获取到最大数量{maxcount}, 分别数量:{string.Join(",", countlist)}"); MoveInfo.ReelParam.QTY = rightcount;
MoveInfo.ReelParam.QTY = maxcount; var cl = ServerConn.inputCounterDataByXRayMachine(MoveInfo.ReelParam.WareCode, rightcount);
var cl = ServerConn.inputCounterDataByXRayMachine(MoveInfo.ReelParam.WareCode, maxcount);
if (cl == null) if (cl == null)
{ {
MoveInfo.ReelParam.IsNg = true; MoveInfo.ReelParam.IsNg = true;
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!