上相机定位、扫码增加打印日志

master
lhiven 1 year ago
parent 6f3cbebd8b
commit c4e699cf91

@ -266,7 +266,6 @@ namespace Rs.MotionPlat.Flow.SubFlow
{ {
VisionResult singleResult = null; VisionResult singleResult = null;
if (exit == false) return null; if (exit == false) return null;
//grabFinishedEvent.Reset();
HObject imageSingle = new HObject(); HObject imageSingle = new HObject();
exit = false; exit = false;
if(!needGo) if(!needGo)
@ -282,79 +281,81 @@ namespace Rs.MotionPlat.Flow.SubFlow
{ {
fixedStep = EUpCameraFixedScanBarCodeFlowStep.; fixedStep = EUpCameraFixedScanBarCodeFlowStep.;
} }
//Task.Run(() => { while (!exit)
while (!exit) {
if (MachineManage.Instance.MachineStatus == EMachineStatus.Stop)
{ {
if (MachineManage.Instance.MachineStatus == EMachineStatus.Stop) Thread.Sleep(10);
{ continue;
Thread.Sleep(10); }
continue; switch (fixedStep)
} {
switch (fixedStep) case EUpCameraFixedScanBarCodeFlowStep.:
{ SlotPoint targetPoint = TrayPointManager.GetSlotPoint(ETrayType.Turnover, SlotIndex);
case EUpCameraFixedScanBarCodeFlowStep.: errCode = AxisControl.LoadX.MovePos(targetPoint.X, GlobalVar.FlyCameraSpeed);
SlotPoint targetPoint = TrayPointManager.GetSlotPoint(ETrayType.Turnover, SlotIndex); if (errCode == ErrorCode.Ok || GlobalVar.VirtualAxis)
errCode = AxisControl.LoadX.MovePos(targetPoint.X, GlobalVar.FlyCameraSpeed); {
errCode = AxisControl.LoadY.MovePos(targetPoint.Y, GlobalVar.FlyCameraSpeed);
if (errCode == ErrorCode.Ok || GlobalVar.VirtualAxis) if (errCode == ErrorCode.Ok || GlobalVar.VirtualAxis)
{ {
errCode = AxisControl.LoadY.MovePos(targetPoint.Y, GlobalVar.FlyCameraSpeed); logInfo = GetClassName() + $"到{SlotIndex}号穴位拍照位上方";
if (errCode == ErrorCode.Ok || GlobalVar.VirtualAxis) MessageQueue.Instance.Insert(logInfo);
{ fixedStep = EUpCameraFixedScanBarCodeFlowStep.;
logInfo = GetClassName() + $"到扫码起始位";
MessageQueue.Instance.Insert(logInfo);
fixedStep = EUpCameraFixedScanBarCodeFlowStep.;
}
else
{
MsgBox.ShowAxisAlarmDialog(AxisControl.LoadY, errCode);
}
} }
else else
{ {
MsgBox.ShowAxisAlarmDialog(AxisControl.LoadX, errCode); MsgBox.ShowAxisAlarmDialog(AxisControl.LoadY, errCode);
} }
break; }
case EUpCameraFixedScanBarCodeFlowStep.: else
if (Ops.IsStop(AxisAlias.LoadX, AxisAlias.LoadY) || GlobalVar.VirtualAxis) {
{ MsgBox.ShowAxisAlarmDialog(AxisControl.LoadX, errCode);
Thread.Sleep(200); }
ImageProcess.ClearManualTrigger(); break;
HikCamera.Instance.SetTrigger("upCamera", ETriggerMode.Manual); case EUpCameraFixedScanBarCodeFlowStep.:
HikCamera.Instance.SetExposure("upCamera", GlobalVar.UpCameraExposureTime); if (Ops.IsStop(AxisAlias.LoadX, AxisAlias.LoadY) || GlobalVar.VirtualAxis)
HikCamera.Instance.SetGain("upCamera", GlobalVar.UpCameraGain); {
AxisControl.LoadX.ComparePulse(2, false); Thread.Sleep(200);
logInfo = GetClassName() + $"已运动到扫码起始位";
MessageQueue.Instance.Insert(logInfo); logInfo = GetClassName() + $"已运动到{SlotIndex}号穴位拍照位上方";
MessageQueue.Instance.Insert(logInfo);
ImageProcess.ClearManualTrigger();
HikCamera.Instance.SetTrigger("upCamera", ETriggerMode.Manual);
HikCamera.Instance.SetExposure("upCamera", GlobalVar.UpCameraExposureTime);
HikCamera.Instance.SetGain("upCamera", GlobalVar.UpCameraGain);
AxisControl.LoadX.ComparePulse(2, false);
scanBarCodeWait.Restart(); scanBarCodeWait.Restart();
fixedStep = EUpCameraFixedScanBarCodeFlowStep.; fixedStep = EUpCameraFixedScanBarCodeFlowStep.;
} }
break; break;
case EUpCameraFixedScanBarCodeFlowStep.: case EUpCameraFixedScanBarCodeFlowStep.:
if(scanBarCodeWait.ElapsedMilliseconds<3000) if (scanBarCodeWait.ElapsedMilliseconds < 3000)
{ {
HObject image = ImageProcess.GetManualImage(); HObject image = ImageProcess.GetManualImage();
if (image != null) if (image != null)
{ {
logInfo = GetClassName() + "拍照完成";
MessageQueue.Instance.Insert(logInfo);
imageSingle = ImageRotate.Rotate(image, "upCamera"); imageSingle = ImageRotate.Rotate(image, "upCamera");
fixedStep = EUpCameraFixedScanBarCodeFlowStep.; fixedStep = EUpCameraFixedScanBarCodeFlowStep.;
} }
} }
else else
{ {
logInfo = GetClassName() + "拍照超时,重新拍照";
MessageQueue.Instance.Warn(logInfo);
fixedStep = EUpCameraFixedScanBarCodeFlowStep.; fixedStep = EUpCameraFixedScanBarCodeFlowStep.;
} }
break;
break; case EUpCameraFixedScanBarCodeFlowStep.:
case EUpCameraFixedScanBarCodeFlowStep.: singleResult = VisionManager.TurnoverTrayDumpProductOK(imageSingle, bNeedLocate, bNeedScanBarcode, SlotIndex);
singleResult = VisionManager.TurnoverTrayDumpProductOK(imageSingle, bNeedLocate, bNeedScanBarcode, SlotIndex); singleResult.SlotIndex = SlotIndex;
singleResult.SlotIndex = SlotIndex; exit = true;
exit = true; logInfo = GetClassName() + "拍照处理完成";
//grabFinishedEvent.Set(); MessageQueue.Instance.Warn(logInfo);
break; break;
}
} }
//}); }
return singleResult; return singleResult;
} }

Loading…
Cancel
Save