diff --git a/TetraParkOCR/Form1.cs b/TetraParkOCR/Form1.cs index c8875d1..779de84 100644 --- a/TetraParkOCR/Form1.cs +++ b/TetraParkOCR/Form1.cs @@ -84,7 +84,7 @@ namespace TetraPackOCR /// /// 共印依据 QSV Design, Layers, Colours,产品规格 /// - string Sequence, QSV, Colours, ProductStandard, ord; + string QSV, Colours, ProductStandard; /// /// 幅数 包材宽 梯度 X距离 Y距离 /// @@ -99,12 +99,9 @@ namespace TetraPackOCR /// string SaveImageFileOCR = System.IO.Path.GetPathRoot(Application.ExecutablePath) + "SaveImage\\OCR";//ocr存图 string SaveImageFileDET = System.IO.Path.GetPathRoot(Application.ExecutablePath) + "SaveImage\\Det";//ocr存图 - private CogJobManager myJobManager1; - private CogJob myJob1; + private CogJobManager myJobManagerDET; + private CogJob myJobDET; - private string[] verocr = new string[20]; - - bool Coprinted_ordeFlag = false; //是否为共印订单旗帜 bool PlcContinueFlag = false; //PLC状态旗帜 int mMatchingStr = 0;//接收当前OCR拍照位置 @@ -112,9 +109,7 @@ namespace TetraPackOCR /// /// 相机对象 1和2 /// - IDevice m_dev_cam_ocr, m_dev_cam1; - List DeviceList; - public string ImagePixelFormat = ""; //图像格式设置 + IDevice m_dev_cam_ocr, m_dev_cam_det; delegate void DetResultDelegate(Object Sender, CogJobManagerActionEventArgs e); delegate void OcrResultDelegate(Bitmap bmp); @@ -140,37 +135,35 @@ namespace TetraPackOCR btn_OrderNum.Enabled = false; btn_OrderNum.BackColor = Color.LightGray; log.Info("软件正在加载..."); - this.Enabled = false; + Enabled = false; Action action = (() => { InitializeCamerOCR(); - InitializeCamer2(); + InitializeCamerDET(); InitializePaddleOCR(); try { - myJobManager1 = CogSerializer.LoadObjectFromFile(vppdetFile) as CogJobManager; + myJobManagerDET = CogSerializer.LoadObjectFromFile(vppdetFile) as CogJobManager; } catch (Exception ex) { log.Error("定位VPP文件加载失败,请检查文件路径是否正确:" + ex.Message); - myJobManager1 = null; + myJobManagerDET = null; } - - + log.Info("定位VPP文件加载完成"); InitializeCC24(); log.Info("模型文件加载完成"); - this.check_Autorun.BackgroundImage = Image.FromFile(Application.StartupPath + "\\logo_image\\ON.png"); - this.ttls_SystemStatusShow.Visible = true; - this.ttls_CamStatusShow.Visible = true; - this.Invoke(new Action(() => + check_Autorun.BackgroundImage = Image.FromFile(Application.StartupPath + "\\logo_image\\ON.png"); + ttls_SystemStatusShow.Visible = true; + ttls_CamStatusShow.Visible = true; + Invoke(new Action(() => { - this.btn_manualOcr.Enabled = true; - this.btn_manualDet.Enabled = true; + btn_manualOcr.Enabled = true; + btn_manualDet.Enabled = true; check_Autorun.Enabled = true; - //btn_StarDet_manual.Enabled = true; - this.Enabled = true; + Enabled = true; btn_OrderNum.Enabled = true; btn_OrderNum.BackColor = Color.DeepSkyBlue; })); @@ -195,12 +188,12 @@ namespace TetraPackOCR TaskFactory tskFactory = new TaskFactory(); tskFactory.ContinueWhenAll(tsk.ToArray(), FlashFormView => { - if (myJobManager1 != null) + if (myJobManagerDET != null) { - myJob1 = myJobManager1.Job(0); + myJobDET = myJobManagerDET.Job(0); // 注册结果队列事件 - myJobManager1.UserResultAvailable += new CogJobManager.CogUserResultAvailableEventHandler(DetResult); + myJobManagerDET.UserResultAvailable += new CogJobManager.CogUserResultAvailableEventHandler(DetResult); } }); } @@ -223,8 +216,8 @@ namespace TetraPackOCR ClossCam(); //// 注销结果队列事件 - myJobManager1.UserResultAvailable -= new CogJobManager.CogUserResultAvailableEventHandler(DetResult); - myJobManager1.Shutdown(); + myJobManagerDET.UserResultAvailable -= new CogJobManager.CogUserResultAvailableEventHandler(DetResult); + myJobManagerDET.Shutdown(); CloseCC24(); } @@ -268,7 +261,7 @@ namespace TetraPackOCR try { camOCROpened = false; - DeviceList = Enumerator.EnumerateDevices(); //发现设备,搜索所有大华相机 + List deviceList = Enumerator.EnumerateDevices(); //发现设备,搜索所有大华相机 m_dev_cam_ocr = Enumerator.GetDeviceByKey("Machine Vision:CK21686DAK00001");//通过"设备厂商名:设备序列号"获取 if (m_dev_cam_ocr == null) { @@ -284,16 +277,12 @@ namespace TetraPackOCR MessageBox.Show("OCR相机打开失败"); } // 设置图像格式 - // set PixelFormat using (IEnumParameter p = m_dev_cam_ocr.ParameterCollection[ParametrizeNameSet.ImagePixelFormat]) { - ImagePixelFormat = "BayerRG8"; - //ImagePixelFormat = "Mono8"; - p.SetValue(ImagePixelFormat); + p.SetValue("BayerRG8"); } // 设置曝光 - using (IFloatParameter p = m_dev_cam_ocr.ParameterCollection[ParametrizeNameSet.ExposureTime]) { p.SetValue(800000); @@ -335,19 +324,19 @@ namespace TetraPackOCR } } private bool camOCROpened = false; - private bool cam1Opened = false; + private bool camDETOpened = false; #endregion #region 相机1事件响应 void m_dev_cam_ocr_ConnectionLost(object sender, EventArgs e) { - MessageBox.Show(m_dev_cam_ocr.DeviceInfo.Key + "OCR相机断线"); + log.Error(m_dev_cam_ocr.DeviceInfo.Key + "OCR相机断线"); } void m_dev_cam_ocr_CameraClosed(object sender, EventArgs e) { - MessageBox.Show(m_dev_cam_ocr.DeviceInfo.Key + "OCR相机关闭"); + log.Error(m_dev_cam_ocr.DeviceInfo.Key + "OCR相机关闭"); } void m_dev_cam_ocr_CameraOpened(object sender, EventArgs e) @@ -369,91 +358,80 @@ namespace TetraPackOCR { try { - Bitmap bmp = null; - - bmp = e.GrabResult.ToBitmap(true); - - OCRResult(bmp); + OCRResult(e.GrabResult.ToBitmap(true)); } catch (Exception ex) { - MessageBox.Show(ex.ToString()); + log.Error(ex.ToString()); } } #endregion #region 相机2 定义为定位相机 - private void InitializeCamer2() + private void InitializeCamerDET() { try { - cam1Opened = false; - DeviceList = Enumerator.EnumerateDevices(); //发现设备,搜索所有大华相机 + camDETOpened = false; + List deviceList = Enumerator.EnumerateDevices(); //发现设备,搜索所有大华相机 - //m_dev_cam1 = Enumerator.GetDeviceByIndex(1);//通过索引获取 - m_dev_cam1 = Enumerator.GetDeviceByKey("Machine Vision:BK27185BAK00038");//通过"设备厂商名:设备序列号"获取 - //m_dev_cam1 = Enumerator.GetDeviceByGigeIP("192.168.10.1");//通过IP地址获取 - - if (m_dev_cam1 == null) + m_dev_cam_det = Enumerator.GetDeviceByKey("Machine Vision:BK27185BAK00038");//通过"设备厂商名:设备序列号"获取 + if (m_dev_cam_det == null) { log.Error("未发现OCR相机,请检查相机连接"); return; } - m_dev_cam1.CameraOpened += m_dev1_CameraOpened; - m_dev_cam1.CameraClosed += m_dev1_CameraClosed; - m_dev_cam1.ConnectionLost += m_dev1_ConnectionLost; + m_dev_cam_det.CameraOpened += m_dev_cam_det_CameraOpened; + m_dev_cam_det.CameraClosed += m_dev_cam_det_CameraClosed; + m_dev_cam_det.ConnectionLost += m_dev_cam_det_ConnectionLost; - if (!m_dev_cam1.Open()) + if (!m_dev_cam_det.Open()) { MessageBox.Show("定位相机打开失败"); } // 设置图像格式 - // set PixelFormat - using (IEnumParameter p = m_dev_cam1.ParameterCollection[ParametrizeNameSet.ImagePixelFormat]) + using (IEnumParameter p = m_dev_cam_det.ParameterCollection[ParametrizeNameSet.ImagePixelFormat]) { - ImagePixelFormat = "Mono"; - p.SetValue(ImagePixelFormat); + p.SetValue("Mono"); } // 设置曝光 - - using (IFloatParameter p = m_dev_cam1.ParameterCollection[ParametrizeNameSet.ExposureTime]) + using (IFloatParameter p = m_dev_cam_det.ParameterCollection[ParametrizeNameSet.ExposureTime]) { p.SetValue(30000); } // 设置增益 - - using (IFloatParameter p = m_dev_cam1.ParameterCollection[ParametrizeNameSet.GainRaw]) + using (IFloatParameter p = m_dev_cam_det.ParameterCollection[ParametrizeNameSet.GainRaw]) { p.SetValue(1.0); } - using (IEnumParameter p = m_dev_cam1.ParameterCollection[ParametrizeNameSet.AcquisitionMode]) + using (IEnumParameter p = m_dev_cam_det.ParameterCollection[ParametrizeNameSet.AcquisitionMode]) { p.SetValue("Continuous"); } - using (IEnumParameter p = m_dev_cam1.ParameterCollection[ParametrizeNameSet.TriggerMode]) + using (IEnumParameter p = m_dev_cam_det.ParameterCollection[ParametrizeNameSet.TriggerMode]) { p.SetValue("On"); } - m_dev_cam1.StreamGrabber.ImageGrabbed += StreamGrabber_ImageGrabbed_1; - m_dev_cam1.StreamGrabber.GrabStarted += StreamGrabber_GrabStarted_1; + m_dev_cam_det.StreamGrabber.ImageGrabbed += StreamGrabber_ImageGrabbed_DET; + m_dev_cam_det.StreamGrabber.GrabStarted += StreamGrabber_GrabStarted_DET; // 打开Software Trigger // Set Software Trigger - m_dev_cam1.TriggerSet.Open(TriggerSourceEnum.Software); - if (!m_dev_cam1.GrabUsingGrabLoopThread()) + m_dev_cam_det.TriggerSet.Open(TriggerSourceEnum.Software); + if (!m_dev_cam_det.GrabUsingGrabLoopThread()) { // 开启采集失败 log.Error("开启采集失败"); return; } - cam1Opened = true; + camDETOpened = true; log.Info("定位相机加载完毕"); } catch (Exception ex) { - cam1Opened = false; + camDETOpened = false; log.Error("定位相机加载失败"); - m_dev_cam1 = null; + m_dev_cam_det = null; } } @@ -461,22 +439,22 @@ namespace TetraPackOCR #region 相机2事件响应 - void m_dev1_ConnectionLost(object sender, EventArgs e) + void m_dev_cam_det_ConnectionLost(object sender, EventArgs e) { - MessageBox.Show(m_dev_cam1.DeviceInfo.Key + "定位相机断线"); + log.Error(m_dev_cam_det.DeviceInfo.Key + "定位相机断线"); } - void m_dev1_CameraClosed(object sender, EventArgs e) + void m_dev_cam_det_CameraClosed(object sender, EventArgs e) { - MessageBox.Show(m_dev_cam1.DeviceInfo.Key + "定位相机关闭"); + log.Error(m_dev_cam_det.DeviceInfo.Key + "定位相机关闭"); } - void m_dev1_CameraOpened(object sender, EventArgs e) + void m_dev_cam_det_CameraOpened(object sender, EventArgs e) { } - void StreamGrabber_GrabStarted_1(object sender, EventArgs e) + void StreamGrabber_GrabStarted_DET(object sender, EventArgs e) { log.Info("定位相机启动码流"); } @@ -486,7 +464,7 @@ namespace TetraPackOCR /// /// /// - private void StreamGrabber_ImageGrabbed_1(object sender, GrabbedEventArgs e) + private void StreamGrabber_ImageGrabbed_DET(object sender, GrabbedEventArgs e) { try { @@ -517,19 +495,18 @@ namespace TetraPackOCR CogImage8Grey cogimage = new CogImage8Grey(bmp); //把图像给job中convertImagetool - CogToolGroup myTG = myJob1.VisionTool as CogToolGroup; + CogToolGroup myTG = myJobDET.VisionTool as CogToolGroup; CogToolBlock myTB = myTG.Tools["CogToolBlock1"] as CogToolBlock; CogImageConvertTool cogImageConvert = myTB.Tools["CogImageConvertTool1"] as CogImageConvertTool; cogImageConvert.InputImage = cogimage; //运行jobmanager - myJobManager1.Run(); - + myJobManagerDET.Run(); } catch (Exception ex) { EnableStartDetect(); - MessageBox.Show(ex.ToString()); + log.Error(ex.ToString()); } } @@ -561,14 +538,14 @@ namespace TetraPackOCR m_dev_cam_ocr.Dispose(); m_dev_cam_ocr = null; } - if (m_dev_cam1 != null) + if (m_dev_cam_det != null) { - m_dev_cam1.CameraOpened -= m_dev1_CameraOpened; - m_dev_cam1.CameraClosed -= m_dev1_CameraClosed; - m_dev_cam1.ConnectionLost -= m_dev1_ConnectionLost; - m_dev_cam1.ShutdownGrab(); - m_dev_cam1.Dispose(); - m_dev_cam1 = null; + m_dev_cam_det.CameraOpened -= m_dev_cam_det_CameraOpened; + m_dev_cam_det.CameraClosed -= m_dev_cam_det_CameraClosed; + m_dev_cam_det.ConnectionLost -= m_dev_cam_det_ConnectionLost; + m_dev_cam_det.ShutdownGrab(); + m_dev_cam_det.Dispose(); + m_dev_cam_det = null; } } #endregion @@ -625,26 +602,24 @@ namespace TetraPackOCR { if (check_Autorun.Checked) { - //CloseCC24(); log.Info("PC断开PLC连接,只可进行本地操作。"); - this.check_Autorun.BackgroundImage = Image.FromFile(Application.StartupPath + "\\logo_image\\OFF.png"); - this.panel_Manual.Visible = true; - this.btn_StarDet_manual.Enabled = false; + check_Autorun.BackgroundImage = Image.FromFile(Application.StartupPath + "\\logo_image\\OFF.png"); + panel_Manual.Visible = true; + btn_StarDet_manual.Enabled = false; btn_StarDet_manual.BackColor = Color.LightGray; - this.ttls_PCLStatusShow.Visible = false; + ttls_PCLStatusShow.Visible = false; } else if (!check_Autorun.Checked) { - //InitializeCC24(); log.Info("PC加载PLC已完成"); - this.check_Autorun.BackgroundImage = Image.FromFile(Application.StartupPath + "\\logo_image\\ON.png"); - this.panel_Manual.Visible = false; + check_Autorun.BackgroundImage = Image.FromFile(Application.StartupPath + "\\logo_image\\ON.png"); + panel_Manual.Visible = false; if (orderLoaded) { - this.btn_StarDet_manual.Enabled = true; + btn_StarDet_manual.Enabled = true; btn_StarDet_manual.BackColor = Color.LimeGreen; } - this.ttls_PCLStatusShow.Visible = true; + ttls_PCLStatusShow.Visible = true; } } private bool orderLoaded = false; @@ -670,28 +645,28 @@ namespace TetraPackOCR ocrTextDesign.Clear(); ClearData(); ClearDataShow(); - this.Invoke(new Action(() => + Invoke(new Action(() => { - this.lbl_L1_verOcrRs.Text = "未启用"; - this.lbl_L1_verOcrRs.BackColor = Color.Gray; - this.lbl_L2_verOcrRs.Text = "未启用"; - this.lbl_L2_verOcrRs.BackColor = Color.Gray; - this.lbl_L3_verOcrRs.Text = "未启用"; - this.lbl_L3_verOcrRs.BackColor = Color.Gray; - this.lbl_L4_verOcrRs.Text = "未启用"; - this.lbl_L4_verOcrRs.BackColor = Color.Gray; - this.lbl_L5_verOcrRs.Text = "未启用"; - this.lbl_L5_verOcrRs.BackColor = Color.Gray; - this.lbl_L6_verOcrRs.Text = "未启用"; - this.lbl_L6_verOcrRs.BackColor = Color.Gray; - this.lbl_L7_verOcrRs.Text = "未启用"; - this.lbl_L7_verOcrRs.BackColor = Color.Gray; - this.lbl_L8_verOcrRs.Text = "未启用"; - this.lbl_L8_verOcrRs.BackColor = Color.Gray; - this.lbl_L9_verOcrRs.Text = "未启用"; - this.lbl_L9_verOcrRs.BackColor = Color.Gray; + lbl_L1_verOcrRs.Text = "未启用"; + lbl_L1_verOcrRs.BackColor = Color.Gray; + lbl_L2_verOcrRs.Text = "未启用"; + lbl_L2_verOcrRs.BackColor = Color.Gray; + lbl_L3_verOcrRs.Text = "未启用"; + lbl_L3_verOcrRs.BackColor = Color.Gray; + lbl_L4_verOcrRs.Text = "未启用"; + lbl_L4_verOcrRs.BackColor = Color.Gray; + lbl_L5_verOcrRs.Text = "未启用"; + lbl_L5_verOcrRs.BackColor = Color.Gray; + lbl_L6_verOcrRs.Text = "未启用"; + lbl_L6_verOcrRs.BackColor = Color.Gray; + lbl_L7_verOcrRs.Text = "未启用"; + lbl_L7_verOcrRs.BackColor = Color.Gray; + lbl_L8_verOcrRs.Text = "未启用"; + lbl_L8_verOcrRs.BackColor = Color.Gray; + lbl_L9_verOcrRs.Text = "未启用"; + lbl_L9_verOcrRs.BackColor = Color.Gray; })); - this.btn_OrderNum.Enabled = false; + btn_OrderNum.Enabled = false; btn_OrderNum.BackColor = Color.LightGray; //通过订单号获取表格中需要的值 string order = txt_OrderNum.Text; @@ -709,7 +684,6 @@ namespace TetraPackOCR laststr = order; if (laststr == "C") { - Coprinted_ordeFlag = true; log.Info("当前订单号为:" + order); //读取表格内容 ExcelPackage.License.SetNonCommercialOrganization("My Noncommercial organization"); @@ -726,13 +700,12 @@ namespace TetraPackOCR { if (sheet1.Cells[i, 3].Value.ToString() == order) { - Sequence = sheet1.Cells[i, 2].Value.ToString(); QSV = sheet1.Cells[i, 4].Value.ToString(); - this.lbl_QSVShow.Text = QSV; + lbl_QSVShow.Text = QSV; log.Info("当前订单QSV:" + QSV); NumberOfLanes = Convert.ToInt32(sheet1.Cells[i, 5].Value.ToString()); log.Info("当前订单Number Of Lanes:" + NumberOfLanes); - this.lbl_NOFShow.Text = sheet1.Cells[i, 5].Value.ToString(); + lbl_NOFShow.Text = sheet1.Cells[i, 5].Value.ToString(); FirstLayers = sheet1.Cells[i, 8].Value.ToString(); Colours = sheet1.Cells[i, 9].Value.ToString(); @@ -773,13 +746,13 @@ namespace TetraPackOCR if (qsv == QSV) { ProductStandard = sheet2.Cells[j, 2].Value.ToString(); - this.lbl_ProductStandardShow.Text = ProductStandard; + lbl_ProductStandardShow.Text = ProductStandard; log.Info("当前订单产品编号:" + ProductStandard); width = Convert.ToDouble(sheet2.Cells[j, 3].Value.ToString()); - this.lbl_widthShow.Text = sheet2.Cells[j, 3].Value.ToString(); + lbl_widthShow.Text = sheet2.Cells[j, 3].Value.ToString(); log.Info("当前订单幅宽:" + width); Gradient = Convert.ToDouble(sheet2.Cells[j, 4].Value.ToString()); - this.lbl_GradientShow.Text = sheet2.Cells[j, 4].Value.ToString(); + lbl_GradientShow.Text = sheet2.Cells[j, 4].Value.ToString(); log.Info("当前订单梯度:" + Gradient); break; } @@ -803,10 +776,10 @@ namespace TetraPackOCR string[] X = x_y[0].Split(':'); string[] Y = x_y[1].Split(':'); DistX = Convert.ToDouble(X[1].Replace("mm", "")); - this.lbl_DistXShow.Text = X[1].Replace("mm", ""); + lbl_DistXShow.Text = X[1].Replace("mm", ""); log.Info("当前订单X偏移:" + DistX); DistY = Convert.ToDouble(Y[1].Replace("mm", "")); - this.lbl_DistYShow.Text = Y[1].Replace("mm", ""); + lbl_DistYShow.Text = Y[1].Replace("mm", ""); log.Info("当前订单Y偏移:" + DistY); break; } @@ -832,7 +805,6 @@ namespace TetraPackOCR } else { - Coprinted_ordeFlag = false; log.Info("当前订单号为:" + order); //读取表格内容 ExcelPackage.License.SetNonCommercialOrganization("My Noncommercial organization"); @@ -850,11 +822,11 @@ namespace TetraPackOCR if (sheet1.Cells[i, 3].Value.ToString() == order) { QSV = sheet1.Cells[i, 4].Value.ToString(); - this.lbl_QSVShow.Text = QSV; + lbl_QSVShow.Text = QSV; log.Info("当前订单QSV:" + QSV); NumberOfLanes = Convert.ToInt32(sheet1.Cells[i, 5].Value.ToString()); log.Info("当前订单Number Of Lanes:" + NumberOfLanes); - this.lbl_NOFShow.Text = sheet1.Cells[i, 5].Value.ToString(); + lbl_NOFShow.Text = sheet1.Cells[i, 5].Value.ToString(); //获取字符 并显示在界面还需处理先预留在这 string design = sheet1.Cells[i, 7].Value.ToString(); @@ -882,13 +854,13 @@ namespace TetraPackOCR if (qsv == QSV) { ProductStandard = sheet2.Cells[j, 2].Value.ToString(); - this.lbl_ProductStandardShow.Text = ProductStandard; + lbl_ProductStandardShow.Text = ProductStandard; log.Info("当前订单产品编号:" + ProductStandard); width = Convert.ToDouble(sheet2.Cells[j, 3].Value.ToString()); - this.lbl_widthShow.Text = sheet2.Cells[j, 3].Value.ToString(); + lbl_widthShow.Text = sheet2.Cells[j, 3].Value.ToString(); log.Info("当前订单幅宽:" + width); Gradient = Convert.ToDouble(sheet2.Cells[j, 4].Value.ToString()); - this.lbl_GradientShow.Text = sheet2.Cells[j, 4].Value.ToString(); + lbl_GradientShow.Text = sheet2.Cells[j, 4].Value.ToString(); log.Info("当前订单梯度:" + Gradient); break; } @@ -912,10 +884,10 @@ namespace TetraPackOCR string[] X = x_y[0].Split(':'); string[] Y = x_y[1].Split(':'); DistX = Convert.ToDouble(X[1].Replace("mm", "")); - this.lbl_DistXShow.Text = X[1].Replace("mm", ""); + lbl_DistXShow.Text = X[1].Replace("mm", ""); log.Info("当前订单X偏移:" + DistX); DistY = Convert.ToDouble(Y[1].Replace("mm", "")); - this.lbl_DistYShow.Text = Y[1].Replace("mm", ""); + lbl_DistYShow.Text = Y[1].Replace("mm", ""); log.Info("当前订单Y偏移:" + DistY); break; } @@ -942,7 +914,7 @@ namespace TetraPackOCR ///判断当前Lans决定结果显示数量 InitLableColumn(); - this.btn_OrderNum.Enabled = true; + btn_OrderNum.Enabled = true; btn_OrderNum.BackColor = Color.DeepSkyBlue; orderLoaded = true; btn_StarDet_manual.Enabled = true; @@ -951,7 +923,7 @@ namespace TetraPackOCR catch (Exception ex) { log.Error("数据解析错误,请检查订单号是否正确"); - this.btn_OrderNum.Enabled = true; + btn_OrderNum.Enabled = true; btn_OrderNum.BackColor = Color.DeepSkyBlue; } } @@ -960,139 +932,139 @@ namespace TetraPackOCR switch (NumberOfLanes) { case 1: - this.Invoke(new Action(() => + Invoke(new Action(() => { - this.lbl_L1_verOcrRs.Text = "启用"; - this.lbl_L1_verOcrRs.BackColor = Color.Yellow; + lbl_L1_verOcrRs.Text = "启用"; + lbl_L1_verOcrRs.BackColor = Color.Yellow; })); break; case 2: - this.Invoke(new Action(() => + Invoke(new Action(() => { - this.lbl_L1_verOcrRs.Text = "启用"; - this.lbl_L1_verOcrRs.BackColor = Color.Yellow; - this.lbl_L2_verOcrRs.Text = "启用"; - this.lbl_L2_verOcrRs.BackColor = Color.Yellow; + lbl_L1_verOcrRs.Text = "启用"; + lbl_L1_verOcrRs.BackColor = Color.Yellow; + lbl_L2_verOcrRs.Text = "启用"; + lbl_L2_verOcrRs.BackColor = Color.Yellow; })); break; case 3: - this.Invoke(new Action(() => + Invoke(new Action(() => { - this.lbl_L1_verOcrRs.Text = "启用"; - this.lbl_L1_verOcrRs.BackColor = Color.Yellow; - this.lbl_L2_verOcrRs.Text = "启用"; - this.lbl_L2_verOcrRs.BackColor = Color.Yellow; - this.lbl_L3_verOcrRs.Text = "启用"; - this.lbl_L3_verOcrRs.BackColor = Color.Yellow; + lbl_L1_verOcrRs.Text = "启用"; + lbl_L1_verOcrRs.BackColor = Color.Yellow; + lbl_L2_verOcrRs.Text = "启用"; + lbl_L2_verOcrRs.BackColor = Color.Yellow; + lbl_L3_verOcrRs.Text = "启用"; + lbl_L3_verOcrRs.BackColor = Color.Yellow; })); break; case 4: - this.Invoke(new Action(() => + Invoke(new Action(() => { - this.lbl_L1_verOcrRs.Text = "启用"; - this.lbl_L1_verOcrRs.BackColor = Color.Yellow; - this.lbl_L2_verOcrRs.Text = "启用"; - this.lbl_L2_verOcrRs.BackColor = Color.Yellow; - this.lbl_L3_verOcrRs.Text = "启用"; - this.lbl_L3_verOcrRs.BackColor = Color.Yellow; - this.lbl_L4_verOcrRs.Text = "启用"; - this.lbl_L4_verOcrRs.BackColor = Color.Yellow; + lbl_L1_verOcrRs.Text = "启用"; + lbl_L1_verOcrRs.BackColor = Color.Yellow; + lbl_L2_verOcrRs.Text = "启用"; + lbl_L2_verOcrRs.BackColor = Color.Yellow; + lbl_L3_verOcrRs.Text = "启用"; + lbl_L3_verOcrRs.BackColor = Color.Yellow; + lbl_L4_verOcrRs.Text = "启用"; + lbl_L4_verOcrRs.BackColor = Color.Yellow; })); break; case 5: - this.Invoke(new Action(() => + Invoke(new Action(() => { - this.lbl_L1_verOcrRs.Text = "启用"; - this.lbl_L1_verOcrRs.BackColor = Color.Yellow; - this.lbl_L2_verOcrRs.Text = "启用"; - this.lbl_L2_verOcrRs.BackColor = Color.Yellow; - this.lbl_L3_verOcrRs.Text = "启用"; - this.lbl_L3_verOcrRs.BackColor = Color.Yellow; - this.lbl_L4_verOcrRs.Text = "启用"; - this.lbl_L4_verOcrRs.BackColor = Color.Yellow; - this.lbl_L5_verOcrRs.Text = "启用"; - this.lbl_L5_verOcrRs.BackColor = Color.Yellow; + lbl_L1_verOcrRs.Text = "启用"; + lbl_L1_verOcrRs.BackColor = Color.Yellow; + lbl_L2_verOcrRs.Text = "启用"; + lbl_L2_verOcrRs.BackColor = Color.Yellow; + lbl_L3_verOcrRs.Text = "启用"; + lbl_L3_verOcrRs.BackColor = Color.Yellow; + lbl_L4_verOcrRs.Text = "启用"; + lbl_L4_verOcrRs.BackColor = Color.Yellow; + lbl_L5_verOcrRs.Text = "启用"; + lbl_L5_verOcrRs.BackColor = Color.Yellow; })); break; case 6: - this.Invoke(new Action(() => + Invoke(new Action(() => { - this.lbl_L1_verOcrRs.Text = "启用"; - this.lbl_L1_verOcrRs.BackColor = Color.Yellow; - this.lbl_L2_verOcrRs.Text = "启用"; - this.lbl_L2_verOcrRs.BackColor = Color.Yellow; - this.lbl_L3_verOcrRs.Text = "启用"; - this.lbl_L3_verOcrRs.BackColor = Color.Yellow; - this.lbl_L4_verOcrRs.Text = "启用"; - this.lbl_L4_verOcrRs.BackColor = Color.Yellow; - this.lbl_L5_verOcrRs.Text = "启用"; - this.lbl_L5_verOcrRs.BackColor = Color.Yellow; - this.lbl_L6_verOcrRs.Text = "启用"; - this.lbl_L6_verOcrRs.BackColor = Color.Yellow; + lbl_L1_verOcrRs.Text = "启用"; + lbl_L1_verOcrRs.BackColor = Color.Yellow; + lbl_L2_verOcrRs.Text = "启用"; + lbl_L2_verOcrRs.BackColor = Color.Yellow; + lbl_L3_verOcrRs.Text = "启用"; + lbl_L3_verOcrRs.BackColor = Color.Yellow; + lbl_L4_verOcrRs.Text = "启用"; + lbl_L4_verOcrRs.BackColor = Color.Yellow; + lbl_L5_verOcrRs.Text = "启用"; + lbl_L5_verOcrRs.BackColor = Color.Yellow; + lbl_L6_verOcrRs.Text = "启用"; + lbl_L6_verOcrRs.BackColor = Color.Yellow; })); break; case 7: - this.Invoke(new Action(() => + Invoke(new Action(() => { - this.lbl_L1_verOcrRs.Text = "启用"; - this.lbl_L1_verOcrRs.BackColor = Color.Yellow; - this.lbl_L2_verOcrRs.Text = "启用"; - this.lbl_L2_verOcrRs.BackColor = Color.Yellow; - this.lbl_L3_verOcrRs.Text = "启用"; - this.lbl_L3_verOcrRs.BackColor = Color.Yellow; - this.lbl_L4_verOcrRs.Text = "启用"; - this.lbl_L4_verOcrRs.BackColor = Color.Yellow; - this.lbl_L5_verOcrRs.Text = "启用"; - this.lbl_L5_verOcrRs.BackColor = Color.Yellow; - this.lbl_L6_verOcrRs.Text = "启用"; - this.lbl_L6_verOcrRs.BackColor = Color.Yellow; - this.lbl_L7_verOcrRs.Text = "启用"; - this.lbl_L7_verOcrRs.BackColor = Color.Yellow; + lbl_L1_verOcrRs.Text = "启用"; + lbl_L1_verOcrRs.BackColor = Color.Yellow; + lbl_L2_verOcrRs.Text = "启用"; + lbl_L2_verOcrRs.BackColor = Color.Yellow; + lbl_L3_verOcrRs.Text = "启用"; + lbl_L3_verOcrRs.BackColor = Color.Yellow; + lbl_L4_verOcrRs.Text = "启用"; + lbl_L4_verOcrRs.BackColor = Color.Yellow; + lbl_L5_verOcrRs.Text = "启用"; + lbl_L5_verOcrRs.BackColor = Color.Yellow; + lbl_L6_verOcrRs.Text = "启用"; + lbl_L6_verOcrRs.BackColor = Color.Yellow; + lbl_L7_verOcrRs.Text = "启用"; + lbl_L7_verOcrRs.BackColor = Color.Yellow; })); break; case 8: - this.Invoke(new Action(() => + Invoke(new Action(() => { - this.lbl_L1_verOcrRs.Text = "启用"; - this.lbl_L1_verOcrRs.BackColor = Color.Yellow; - this.lbl_L2_verOcrRs.Text = "启用"; - this.lbl_L2_verOcrRs.BackColor = Color.Yellow; - this.lbl_L3_verOcrRs.Text = "启用"; - this.lbl_L3_verOcrRs.BackColor = Color.Yellow; - this.lbl_L4_verOcrRs.Text = "启用"; - this.lbl_L4_verOcrRs.BackColor = Color.Yellow; - this.lbl_L5_verOcrRs.Text = "启用"; - this.lbl_L5_verOcrRs.BackColor = Color.Yellow; - this.lbl_L6_verOcrRs.Text = "启用"; - this.lbl_L6_verOcrRs.BackColor = Color.Yellow; - this.lbl_L7_verOcrRs.Text = "启用"; - this.lbl_L7_verOcrRs.BackColor = Color.Yellow; - this.lbl_L8_verOcrRs.Text = "启用"; - this.lbl_L8_verOcrRs.BackColor = Color.Yellow; + lbl_L1_verOcrRs.Text = "启用"; + lbl_L1_verOcrRs.BackColor = Color.Yellow; + lbl_L2_verOcrRs.Text = "启用"; + lbl_L2_verOcrRs.BackColor = Color.Yellow; + lbl_L3_verOcrRs.Text = "启用"; + lbl_L3_verOcrRs.BackColor = Color.Yellow; + lbl_L4_verOcrRs.Text = "启用"; + lbl_L4_verOcrRs.BackColor = Color.Yellow; + lbl_L5_verOcrRs.Text = "启用"; + lbl_L5_verOcrRs.BackColor = Color.Yellow; + lbl_L6_verOcrRs.Text = "启用"; + lbl_L6_verOcrRs.BackColor = Color.Yellow; + lbl_L7_verOcrRs.Text = "启用"; + lbl_L7_verOcrRs.BackColor = Color.Yellow; + lbl_L8_verOcrRs.Text = "启用"; + lbl_L8_verOcrRs.BackColor = Color.Yellow; })); break; case 9: - this.Invoke(new Action(() => + Invoke(new Action(() => { - this.lbl_L1_verOcrRs.Text = "启用"; - this.lbl_L1_verOcrRs.BackColor = Color.Yellow; - this.lbl_L2_verOcrRs.Text = "启用"; - this.lbl_L2_verOcrRs.BackColor = Color.Yellow; - this.lbl_L3_verOcrRs.Text = "启用"; - this.lbl_L3_verOcrRs.BackColor = Color.Yellow; - this.lbl_L4_verOcrRs.Text = "启用"; - this.lbl_L4_verOcrRs.BackColor = Color.Yellow; - this.lbl_L5_verOcrRs.Text = "启用"; - this.lbl_L5_verOcrRs.BackColor = Color.Yellow; - this.lbl_L6_verOcrRs.Text = "启用"; - this.lbl_L6_verOcrRs.BackColor = Color.Yellow; - this.lbl_L7_verOcrRs.Text = "启用"; - this.lbl_L7_verOcrRs.BackColor = Color.Yellow; - this.lbl_L8_verOcrRs.Text = "启用"; - this.lbl_L8_verOcrRs.BackColor = Color.Yellow; - this.lbl_L9_verOcrRs.Text = "启用"; - this.lbl_L9_verOcrRs.BackColor = Color.Yellow; + lbl_L1_verOcrRs.Text = "启用"; + lbl_L1_verOcrRs.BackColor = Color.Yellow; + lbl_L2_verOcrRs.Text = "启用"; + lbl_L2_verOcrRs.BackColor = Color.Yellow; + lbl_L3_verOcrRs.Text = "启用"; + lbl_L3_verOcrRs.BackColor = Color.Yellow; + lbl_L4_verOcrRs.Text = "启用"; + lbl_L4_verOcrRs.BackColor = Color.Yellow; + lbl_L5_verOcrRs.Text = "启用"; + lbl_L5_verOcrRs.BackColor = Color.Yellow; + lbl_L6_verOcrRs.Text = "启用"; + lbl_L6_verOcrRs.BackColor = Color.Yellow; + lbl_L7_verOcrRs.Text = "启用"; + lbl_L7_verOcrRs.BackColor = Color.Yellow; + lbl_L8_verOcrRs.Text = "启用"; + lbl_L8_verOcrRs.BackColor = Color.Yellow; + lbl_L9_verOcrRs.Text = "启用"; + lbl_L9_verOcrRs.BackColor = Color.Yellow; })); break; } @@ -1114,13 +1086,13 @@ namespace TetraPackOCR /// private void btn_manualDet_Click(object sender, EventArgs e) { - m_dev_cam1.ExecuteSoftwareTrigger(); + m_dev_cam_det.ExecuteSoftwareTrigger(); log.Info("手动触发定位"); } private bool autorunFlag = false; private void btn_StarDet_manual_Click(object sender, EventArgs e) { - if (camOCROpened == false || cam1Opened == false) + if (camOCROpened == false || camDETOpened == false) { MessageBox.Show("相机未打开,无法进行检测,请检查相机连接及状态!"); return; @@ -1139,12 +1111,13 @@ namespace TetraPackOCR InitLableColumn(); + ocrAcc.Clear(); autorunFlag = check_Autorun.Checked; btn_StarDet_manual.Enabled = false; button1.Enabled = true; btn_StarDet_manual.BackColor = Color.LightGray; button1.BackColor = Color.LimeGreen; - m_dev_cam1?.ExecuteSoftwareTrigger(); + m_dev_cam_det?.ExecuteSoftwareTrigger(); list_Log.Clear(); log.Info("手动触发开始"); } @@ -1171,8 +1144,7 @@ namespace TetraPackOCR /// void ClearData() { - - QSV = null; Colours = null; ProductStandard = null; ord = null; + QSV = null; Colours = null; ProductStandard = null; NumberOfLanes = 0; width = 0; Gradient = 0; DistX = 0; DistY = 0; } /// @@ -1193,7 +1165,7 @@ namespace TetraPackOCR { if (e.KeyCode == Keys.Enter) { - this.btn_OrderNum_Click(sender, e); + btn_OrderNum_Click(sender, e); } } #endregion @@ -1209,15 +1181,14 @@ namespace TetraPackOCR /// private void DetCamTriger() { - log.Info("PLC触发定位相机,正在拍照计算..."); try { - m_dev_cam1.ExecuteSoftwareTrigger(); - + log.Info("PLC触发定位相机,正在拍照计算..."); + m_dev_cam_det?.ExecuteSoftwareTrigger(); } catch (Exception ex) { - MessageBox.Show(ex.Message); + log.Error(ex.Message); } } #endregion @@ -1230,14 +1201,14 @@ namespace TetraPackOCR /// private void OcrCamTriger() { - log.Info("PLC触发OCR相机,正在拍照计算..."); try { + log.Info("PLC触发OCR相机,正在拍照计算..."); m_dev_cam_ocr.ExecuteSoftwareTrigger(); } catch (Exception ex) { - MessageBox.Show(ex.Message); + log.Error(ex.Message); } } #endregion @@ -1257,11 +1228,11 @@ namespace TetraPackOCR return; } //清除上次的结果显示 - this.lbl_XShow.Text = ""; - this.lbl_YShow.Text = ""; - this.lbl_RShow.Text = ""; + lbl_XShow.Text = ""; + lbl_YShow.Text = ""; + lbl_RShow.Text = ""; - CogToolGroup myTG = myJob1.VisionTool as CogToolGroup; + CogToolGroup myTG = myJobDET.VisionTool as CogToolGroup; CogToolBlock myTB = myTG.Tools["CogToolBlock1"] as CogToolBlock; CogPMAlignTool myPMA = myTB.Tools["CogPMAlignTool2"] as CogPMAlignTool; CogImageConvertTool myImage = myTB.Tools["CogImageConvertTool1"] as CogImageConvertTool; @@ -1277,16 +1248,16 @@ namespace TetraPackOCR double yy = myPMA.Results[i].GetPose().TranslationY; double rr = CogMisc.RadToDeg(myPMA.Results[i].GetPose().Rotation); - this.lbl_XShow.Text = xx.ToString(); - this.lbl_YShow.Text = yy.ToString(); - this.lbl_RShow.Text = rr.ToString(); + lbl_XShow.Text = xx.ToString(); + lbl_YShow.Text = yy.ToString(); + lbl_RShow.Text = rr.ToString(); log.Info($"x:{xx} y:{yy} degree:{rr}"); //画模型轮廓 CogCompositeShape shape = myPMA.Results[i].CreateResultGraphics(CogPMAlignResultGraphicConstants.MatchFeatures); CogCompositeShape shape1 = myPMA.Results[i].CreateResultGraphics(CogPMAlignResultGraphicConstants.CoordinateAxes); - this.Location_Display.InteractiveGraphics.Add(shape, "", false); - this.Location_Display.InteractiveGraphics.Add(shape1, "", false); + Location_Display.InteractiveGraphics.Add(shape, "", false); + Location_Display.InteractiveGraphics.Add(shape1, "", false); //画定位的十字点 CPMARunStatus.DrawPointMarker(xx, yy, CogMisc.DegToRad(rr), CogColorConstants.Orange, Location_Display, "."); log.Info("定位计算已完成。"); @@ -1302,7 +1273,7 @@ namespace TetraPackOCR { EnableStartDetect(); log.Error(ex.Message + "未检测到K标志"); - if (this.check_Autorun.Checked == false) + if (check_Autorun.Checked == false) { byte[] datax = DataConverter.FloatToByte(0.0f, true); cc24?.NotifyCamInspectionComplete(0, datax); @@ -1345,7 +1316,6 @@ namespace TetraPackOCR { i = Array.IndexOf(yy, yy.Max()); } - } else { @@ -1361,7 +1331,6 @@ namespace TetraPackOCR } //找出保留元素中Y值最大的 i = Array.IndexOf(yy, yy.Max()); - } return i; } @@ -1385,7 +1354,6 @@ namespace TetraPackOCR row.Add(points[j]); } } - rows.Add(row); } @@ -1399,9 +1367,7 @@ namespace TetraPackOCR if (!sortedPoints.Contains(point)) { sortedPoints.Add(point); - } - } } @@ -1442,7 +1408,6 @@ namespace TetraPackOCR Directory.CreateDirectory(SaveImageFileOCR + '\\' + strtimef); } string strTime = System.DateTime.Now.ToString("yyyyMMddHHmmss"); - //string strtimef = DateTime.Now.ToString("yyyy-MM-dd"); FileStream fs = new FileStream(SaveImageFileOCR + '\\' + strtimef + '\\' + strTime + ".bmp", FileMode.Create); BinaryWriter bw = new BinaryWriter(fs); bw.Write(bytes, 0, bytes.Length); @@ -1451,7 +1416,6 @@ namespace TetraPackOCR log.Info("OCR存图已完成"); CutPicture(SaveImageFileOCR + '\\' + strtimef + '\\' + strTime + ".bmp", 1000, 1800, 3800, 1600); - //List temps = new List(); if (Engine == null) { log.Error("Engine未初始化"); @@ -1718,11 +1682,10 @@ namespace TetraPackOCR void ShowTheLansRs(float mM, float s) { int mMnum = Convert.ToInt32(mM); - //s = 1;//**************************************************************************************************注意 switch (mMnum) { case 1: - this.lbl_L1_verOcrRs.BackColor = Color.Lime; + lbl_L1_verOcrRs.BackColor = Color.Lime; if (s < 0.9) { lbl_L1_verOcrRs.BackColor = Color.Red; @@ -1733,11 +1696,11 @@ namespace TetraPackOCR s = 1; } ocrAcc.Add(s); - this.lbl_L1_verOcrRs.Text = s * 100 + "%"; + lbl_L1_verOcrRs.Text = s * 100 + "%"; log.Info("字符对比结果:当前第" + mMnum + "道的读取字符与验证字符相似度为" + s * 100 + "%"); break; case 2: - this.lbl_L2_verOcrRs.BackColor = Color.Lime; + lbl_L2_verOcrRs.BackColor = Color.Lime; if (s < 0.9) { lbl_L2_verOcrRs.BackColor = Color.Red; @@ -1748,11 +1711,11 @@ namespace TetraPackOCR s = 1; } ocrAcc.Add(s); - this.lbl_L2_verOcrRs.Text = s * 100 + "%"; + lbl_L2_verOcrRs.Text = s * 100 + "%"; log.Info("字符对比结果:当前第" + mMnum + "道的读取字符与验证字符相似度为" + s * 100 + "%"); break; case 3: - this.lbl_L3_verOcrRs.BackColor = Color.Lime; + lbl_L3_verOcrRs.BackColor = Color.Lime; if (s < 0.9) { lbl_L3_verOcrRs.BackColor = Color.Red; @@ -1763,11 +1726,11 @@ namespace TetraPackOCR s = 1; } ocrAcc.Add(s); - this.lbl_L3_verOcrRs.Text = s * 100 + "%"; + lbl_L3_verOcrRs.Text = s * 100 + "%"; log.Info("字符对比结果:当前第" + mMnum + "道的读取字符与验证字符相似度为" + s * 100 + "%"); break; case 4: - this.lbl_L4_verOcrRs.BackColor = Color.Lime; + lbl_L4_verOcrRs.BackColor = Color.Lime; if (s < 0.9) { lbl_L4_verOcrRs.BackColor = Color.Red; @@ -1778,11 +1741,11 @@ namespace TetraPackOCR s = 1; } ocrAcc.Add(s); - this.lbl_L4_verOcrRs.Text = s * 100 + "%"; + lbl_L4_verOcrRs.Text = s * 100 + "%"; log.Info("字符对比结果:当前第" + mMnum + "道的读取字符与验证字符相似度为" + s * 100 + "%"); break; case 5: - this.lbl_L5_verOcrRs.BackColor = Color.Lime; + lbl_L5_verOcrRs.BackColor = Color.Lime; if (s < 0.9) { lbl_L5_verOcrRs.BackColor = Color.Red; @@ -1793,11 +1756,11 @@ namespace TetraPackOCR s = 1; } ocrAcc.Add(s); - this.lbl_L5_verOcrRs.Text = s * 100 + "%"; + lbl_L5_verOcrRs.Text = s * 100 + "%"; log.Info("字符对比结果:当前第" + mMnum + "道的读取字符与验证字符相似度为" + s * 100 + "%"); break; case 6: - this.lbl_L6_verOcrRs.BackColor = Color.Lime; + lbl_L6_verOcrRs.BackColor = Color.Lime; if (s < 0.9) { lbl_L6_verOcrRs.BackColor = Color.Red; @@ -1808,11 +1771,11 @@ namespace TetraPackOCR s = 1; } ocrAcc.Add(s); - this.lbl_L6_verOcrRs.Text = s * 100 + "%"; + lbl_L6_verOcrRs.Text = s * 100 + "%"; log.Info("字符对比结果:当前第" + mMnum + "道的读取字符与验证字符相似度为" + s * 100 + "%"); break; case 7: - this.lbl_L7_verOcrRs.BackColor = Color.Lime; + lbl_L7_verOcrRs.BackColor = Color.Lime; if (s < 0.9) { lbl_L7_verOcrRs.BackColor = Color.Red; @@ -1823,11 +1786,11 @@ namespace TetraPackOCR s = 1; } ocrAcc.Add(s); - this.lbl_L7_verOcrRs.Text = s * 100 + "%"; + lbl_L7_verOcrRs.Text = s * 100 + "%"; log.Info("字符对比结果:当前第" + mMnum + "道的读取字符与验证字符相似度为" + s * 100 + "%"); break; case 8: - this.lbl_L8_verOcrRs.BackColor = Color.Lime; + lbl_L8_verOcrRs.BackColor = Color.Lime; if (s < 0.9) { lbl_L8_verOcrRs.BackColor = Color.Red; @@ -1838,11 +1801,11 @@ namespace TetraPackOCR s = 1; } ocrAcc.Add(s); - this.lbl_L8_verOcrRs.Text = s * 100 + "%"; + lbl_L8_verOcrRs.Text = s * 100 + "%"; log.Info("字符对比结果:当前第" + mMnum + "道的读取字符与验证字符相似度为" + s * 100 + "%"); break; case 9: - this.lbl_L9_verOcrRs.BackColor = Color.Lime; + lbl_L9_verOcrRs.BackColor = Color.Lime; if (s < 0.9) { lbl_L9_verOcrRs.BackColor = Color.Red; @@ -1853,7 +1816,7 @@ namespace TetraPackOCR s = 1; } ocrAcc.Add(s); - this.lbl_L9_verOcrRs.Text = s * 100 + "%"; + lbl_L9_verOcrRs.Text = s * 100 + "%"; log.Info("字符对比结果:当前第" + mMnum + "道的读取字符与验证字符相似度为" + s * 100 + "%"); break; } @@ -1884,7 +1847,7 @@ namespace TetraPackOCR cc24.NotifyCamAcqEnable(0); cc24.NotifyCamAcqEnable(1); - this.Invoke(new Action(() => + Invoke(new Action(() => { if (cc24.SignalState.PlcConnectionStatus) { @@ -1910,30 +1873,30 @@ namespace TetraPackOCR private void CC24_NotifyCamAcqEnabled(int cameraIndex, bool isEnabled) { - this.Invoke(new Action(() => + Invoke(new Action(() => { if (isEnabled) { - this.ttls_AcqEnableShow.Visible = true; + ttls_AcqEnableShow.Visible = true; } else { - this.ttls_AcqEnableShow.Visible = false; + ttls_AcqEnableShow.Visible = false; } })); } private void CC24_NotifyCamAcqDisabled(int cameraIndex, bool isEnabled) { - this.Invoke(new Action(() => + Invoke(new Action(() => { if (isEnabled) { - this.ttls_AcqEnableShow.Visible = true; + ttls_AcqEnableShow.Visible = true; } else { - this.ttls_AcqEnableShow.Visible = false; + ttls_AcqEnableShow.Visible = false; } })); @@ -1962,13 +1925,12 @@ namespace TetraPackOCR return; if (ocrAcc.Min() < 0.95) { - MessageBox.Show("当前检测中出现严重错误请注意!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error); + MessageBox.Show("当前检测中出现严重错误请注意!", Text, MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (ocrAcc.Min() > 0.95 & ocrAcc.Min() < 1) { - MessageBox.Show("当前检测中出现可允许误差请注意!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); + MessageBox.Show("当前检测中出现可允许误差请注意!", Text, MessageBoxButtons.OK, MessageBoxIcon.Information); } - ocrAcc.Clear(); } } #endregion @@ -1983,14 +1945,11 @@ namespace TetraPackOCR } try { - - #region 接收到定位拍照信号 if (e.CameraIndex == 0) { DetCamTriger(); } - #endregion #region 接收到OCR拍照信号 @@ -1999,7 +1958,6 @@ namespace TetraPackOCR Thread.Sleep(1000); OcrCamTriger(); } - #endregion } catch (Exception ex) @@ -2034,8 +1992,6 @@ namespace TetraPackOCR #region 通讯状态发生改变 private void CC24_PlcConnectionStatusChanged(object sender, CogNdmProtocolStatusChangedEventArgs e) { - // The event is raised from a non-GUI thread. - // Invoke this function on the GUI thread. if (InvokeRequired) { Invoke(new CogNdmProtocolStatusChangedEventHandler(CC24_PlcConnectionStatusChanged), new object[] { sender, e }); @@ -2238,7 +2194,7 @@ namespace TetraPackOCR } } - if (this.check_Autorun.Checked == false) + if (check_Autorun.Checked == false) { List d = new List(); for (int i = 0; i < l.Count; i++)