diff --git a/Rs.SkyLine/Flow/NormalFlow/DischargeFlow.cs b/Rs.SkyLine/Flow/NormalFlow/DischargeFlow.cs index 730c6ff..c249a79 100644 --- a/Rs.SkyLine/Flow/NormalFlow/DischargeFlow.cs +++ b/Rs.SkyLine/Flow/NormalFlow/DischargeFlow.cs @@ -854,9 +854,12 @@ namespace Rs.MotionPlat.Flow List errCodeList = new List(); foreach (MatchResult item in mrs) { - if(item.IsOK&&GlobalVar.EnableScanBarCodeByDownCamera) + if(item.IsOK) { - NozzleManager.GetNozzle(ni).SN = item.SN; + if(GlobalVar.EnableScanBarCodeByDownCamera) + { + NozzleManager.GetNozzle(ni).SN = item.SN; + } } else { @@ -1545,180 +1548,191 @@ namespace Rs.MotionPlat.Flow } if(scanNum==1 || !GlobalVar.GRR) { - //没有需要给周转盘上料的任务后,就开始上相机扫码 - //判断周转盘第一行有没有产品,如果有产品则拍第一行 - if (TurnoverTrayManager.Instance.HasProduct(ETrayRow.One)) + if(GlobalVar.EnableVirtuleBarCode) { - //找拍照起点和终点 - SlotPoint grabStartPoint = TrayPointManager.GetSlotPoint(ETrayType.Turnover, 1); - SlotPoint grabEndPoint = TrayPointManager.GetSlotPoint(ETrayType.Turnover, 8); - UpCameraScanBarCodeFlow.Instance.ScanMulti(1, false); - List result = UpCameraScanBarCodeFlow.Instance.Wait(); - foreach (var vr in result) + List slots = TurnoverTrayManager.Instance.GetSlots(ETurnoverTraySlotType.WaitTest, ETurnoverTraySlotStatus.Have); + foreach (var slot in slots) { - if (TurnoverTrayManager.Instance.Slot(vr.SlotIndex).IsHasProduct) + LoadAndUnloadTask.Instance.CopyBarcodeToTask(slot.Index - 1, VirtualBarCode.Code); + } + } + else + { + //没有需要给周转盘上料的任务后,就开始上相机扫码 + //判断周转盘第一行有没有产品,如果有产品则拍第一行 + if (TurnoverTrayManager.Instance.HasProduct(ETrayRow.One)) + { + //找拍照起点和终点 + SlotPoint grabStartPoint = TrayPointManager.GetSlotPoint(ETrayType.Turnover, 1); + SlotPoint grabEndPoint = TrayPointManager.GetSlotPoint(ETrayType.Turnover, 8); + UpCameraScanBarCodeFlow.Instance.ScanMulti(1, false); + List result = UpCameraScanBarCodeFlow.Instance.Wait(); + foreach (var vr in result) { - if (vr.SearchModelOK)//定位成功 + if (TurnoverTrayManager.Instance.Slot(vr.SlotIndex).IsHasProduct) { - if (!GlobalVar.EnableScanBarCodeByDownCamera) + if (vr.SearchModelOK)//定位成功 { - if (GlobalVar.RunSpace) - { - LoadAndUnloadTask.Instance.CopyBarcodeToTask(vr.SlotIndex - 1, VirtualBarCode.Code); - } - else + if (!GlobalVar.EnableScanBarCodeByDownCamera) { - if (vr.ScanBarCodeOK) + if (GlobalVar.RunSpace) { - OnShowGrabResult?.Invoke(vr, true); - //复制二维码 - LoadAndUnloadTask.Instance.CopyBarcodeToTask(vr.SlotIndex - 1, vr.SN); + LoadAndUnloadTask.Instance.CopyBarcodeToTask(vr.SlotIndex - 1, VirtualBarCode.Code); } else { - int failNum = 1; - while (true) + if (vr.ScanBarCodeOK) { - if (failNum < 4) - { - //如果扫码失败再重扫一次 - UpCameraScanBarCodeFlow.Instance.ScanSingle(vr.SlotIndex, true); - VisionResult vrsigle = UpCameraScanBarCodeFlow.Instance.WaitSingle(); - if (vrsigle.ScanBarCodeOK) - { - OnShowGrabResult?.Invoke(vrsigle, true); - LoadAndUnloadTask.Instance.CopyBarcodeToTask(vr.SlotIndex - 1, vrsigle.SN); - break; - } - else - { - failNum++; - OnShowGrabResult?.Invoke(vrsigle, true); - //复制二维码 - //LoadAndUnloadTask.Instance.CopyBarcodeToTask(vr.SlotIndex - 1, ""); - Thread.Sleep(1000); - } - } - else + OnShowGrabResult?.Invoke(vr, true); + //复制二维码 + LoadAndUnloadTask.Instance.CopyBarcodeToTask(vr.SlotIndex - 1, vr.SN); + } + else + { + int failNum = 1; + while (true) { - alarmInfo = string.Format(AlarmCollection.GetAlarm(AlarmConstID.扫码失败), vr.SlotIndex); - box = MsgBox.ShowDialog(AlarmConstID.扫码失败, alarmInfo, ETipButton.Retry | ETipButton.Cancel); - if (box.Button == ETipButton.Retry) + if (failNum < 4) { - failNum = 1; + //如果扫码失败再重扫一次 + UpCameraScanBarCodeFlow.Instance.ScanSingle(vr.SlotIndex, true); + VisionResult vrsigle = UpCameraScanBarCodeFlow.Instance.WaitSingle(); + if (vrsigle.ScanBarCodeOK) + { + OnShowGrabResult?.Invoke(vrsigle, true); + LoadAndUnloadTask.Instance.CopyBarcodeToTask(vr.SlotIndex - 1, vrsigle.SN); + break; + } + else + { + failNum++; + OnShowGrabResult?.Invoke(vrsigle, true); + //复制二维码 + //LoadAndUnloadTask.Instance.CopyBarcodeToTask(vr.SlotIndex - 1, ""); + Thread.Sleep(1000); + } } else { - //OnShowGrabResult?.Invoke(vrsigle, true); - //复制二维码 - LoadAndUnloadTask.Instance.CopyBarcodeToTask(vr.SlotIndex - 1, ""); - break; + alarmInfo = string.Format(AlarmCollection.GetAlarm(AlarmConstID.扫码失败), vr.SlotIndex); + box = MsgBox.ShowDialog(AlarmConstID.扫码失败, alarmInfo, ETipButton.Retry | ETipButton.Cancel); + if (box.Button == ETipButton.Retry) + { + failNum = 1; + } + else + { + //OnShowGrabResult?.Invoke(vrsigle, true); + //复制二维码 + LoadAndUnloadTask.Instance.CopyBarcodeToTask(vr.SlotIndex - 1, ""); + break; + } } } } } } } + else + { + //定位失败,或者超出指定范围 + } } else { - //定位失败,或者超出指定范围 + OnShowGrabResult?.Invoke(vr, false); } } - else - { - OnShowGrabResult?.Invoke(vr, false); - } + //OnUpCameraGrabResult?.Invoke(result); } - //OnUpCameraGrabResult?.Invoke(result); - } - //判断周转盘第三行有没有产品,如果有产品则拍第三行 - if (TurnoverTrayManager.Instance.HasProduct(ETrayRow.Three)) - { - //找拍照起点和终点 - SlotPoint grabStartPoint = TrayPointManager.GetSlotPoint(ETrayType.Turnover, 17); - SlotPoint grabEndPoint = TrayPointManager.GetSlotPoint(ETrayType.Turnover, 24); - UpCameraScanBarCodeFlow.Instance.ScanMulti(24, true); - List result = UpCameraScanBarCodeFlow.Instance.Wait(); - foreach (var vr in result) + //判断周转盘第三行有没有产品,如果有产品则拍第三行 + if (TurnoverTrayManager.Instance.HasProduct(ETrayRow.Three)) { - if (TurnoverTrayManager.Instance.Slot(vr.SlotIndex).IsHasProduct) + //找拍照起点和终点 + SlotPoint grabStartPoint = TrayPointManager.GetSlotPoint(ETrayType.Turnover, 17); + SlotPoint grabEndPoint = TrayPointManager.GetSlotPoint(ETrayType.Turnover, 24); + UpCameraScanBarCodeFlow.Instance.ScanMulti(24, true); + List result = UpCameraScanBarCodeFlow.Instance.Wait(); + foreach (var vr in result) { - - if (vr.SearchModelOK)//定位成功 + if (TurnoverTrayManager.Instance.Slot(vr.SlotIndex).IsHasProduct) { - if (!GlobalVar.EnableScanBarCodeByDownCamera) + + if (vr.SearchModelOK)//定位成功 { - if (GlobalVar.RunSpace) - { - LoadAndUnloadTask.Instance.CopyBarcodeToTask(vr.SlotIndex - 1, VirtualBarCode.Code); - } - else + if (!GlobalVar.EnableScanBarCodeByDownCamera) { - if (vr.ScanBarCodeOK) + if (GlobalVar.RunSpace) { - OnShowGrabResult?.Invoke(vr, true); - //复制二维码 - LoadAndUnloadTask.Instance.CopyBarcodeToTask(vr.SlotIndex - 1, vr.SN); + LoadAndUnloadTask.Instance.CopyBarcodeToTask(vr.SlotIndex - 1, VirtualBarCode.Code); } else { - int failNum = 1; - while (true) + if (vr.ScanBarCodeOK) { - if (failNum < 4) + OnShowGrabResult?.Invoke(vr, true); + //复制二维码 + LoadAndUnloadTask.Instance.CopyBarcodeToTask(vr.SlotIndex - 1, vr.SN); + } + else + { + int failNum = 1; + while (true) { - - //如果扫码失败再重扫一次 - UpCameraScanBarCodeFlow.Instance.ScanSingle(vr.SlotIndex, true); - VisionResult vrsigle = UpCameraScanBarCodeFlow.Instance.WaitSingle(); - if (vrsigle.ScanBarCodeOK) + if (failNum < 4) { - OnShowGrabResult?.Invoke(vrsigle, true); - LoadAndUnloadTask.Instance.CopyBarcodeToTask(vr.SlotIndex - 1, vrsigle.SN); - break; + + //如果扫码失败再重扫一次 + UpCameraScanBarCodeFlow.Instance.ScanSingle(vr.SlotIndex, true); + VisionResult vrsigle = UpCameraScanBarCodeFlow.Instance.WaitSingle(); + if (vrsigle.ScanBarCodeOK) + { + OnShowGrabResult?.Invoke(vrsigle, true); + LoadAndUnloadTask.Instance.CopyBarcodeToTask(vr.SlotIndex - 1, vrsigle.SN); + break; + } + else + { + failNum++; + OnShowGrabResult?.Invoke(vrsigle, true); + //复制二维码 + //LoadAndUnloadTask.Instance.CopyBarcodeToTask(vr.SlotIndex - 1, ""); + Thread.Sleep(1000); + } } else { - failNum++; - OnShowGrabResult?.Invoke(vrsigle, true); - //复制二维码 - //LoadAndUnloadTask.Instance.CopyBarcodeToTask(vr.SlotIndex - 1, ""); - Thread.Sleep(1000); - } - } - else - { - box = MsgBox.ShowDialog(AlarmConstID.ScanBarCodeFailAlarm, $"{vr.SlotIndex}穴位扫码失败", ETipButton.Retry | ETipButton.Skip); - if (box.Button == ETipButton.Retry) - { - failNum = 1; - } - else if (box.Button == ETipButton.Skip) - { - //OnShowGrabResult?.Invoke(vrsigle, true); - //复制二维码 - LoadAndUnloadTask.Instance.CopyBarcodeToTask(vr.SlotIndex - 1, ""); - break; + box = MsgBox.ShowDialog(AlarmConstID.ScanBarCodeFailAlarm, $"{vr.SlotIndex}穴位扫码失败", ETipButton.Retry | ETipButton.Skip); + if (box.Button == ETipButton.Retry) + { + failNum = 1; + } + else if (box.Button == ETipButton.Skip) + { + //OnShowGrabResult?.Invoke(vrsigle, true); + //复制二维码 + LoadAndUnloadTask.Instance.CopyBarcodeToTask(vr.SlotIndex - 1, ""); + break; + } } } } } } } + else + { + //定位失败,或者超出指定范围 + } } else { - //定位失败,或者超出指定范围 + OnShowGrabResult?.Invoke(vr, false); } } - else - { - OnShowGrabResult?.Invoke(vr, false); - } - } - //OnUpCameraGrabResult?.Invoke(result); + //OnUpCameraGrabResult?.Invoke(result); + } } } }