领胜LDS 键盘AOI检测项目
src/Bro.M071.Process/M071Process.cs
@@ -207,10 +207,18 @@
            MachineState = MachineState.Running;
            OnMeasureStart?.Invoke();
            var measurements = Config.MeasurementUnitCollection.Where(u => u.IsEnabled).ToList().DeepSerializeClone();
            measurements.ForEach(m =>
            //var measurements = Config.MeasurementUnitCollection.Where(u => u.IsEnabled).ToList().DeepSerializeClone();
            //measurements.ForEach(m =>
            //{
            //    m.InitialKeyUnitMeasureChanged();
            //});
            List<MeasurementUnit> measurements = new List<MeasurementUnit>();
            Config.MeasurementUnitCollection.Where(u => u.IsEnabled).ToList().ForEach(u =>
            {
                var m = u.Copy();
                m.InitialKeyUnitMeasureChanged();
                measurements.Add(m);
            });
            var pMeasure = new ProductionMeasurement()
@@ -219,6 +227,8 @@
                Measurements = measurements,
                StartTime = DateTime.Now,
            };
            BarCode = "";
            var existedProduction = productionList.FirstOrDefault(u => u.Barcode == pMeasure.Barcode);
            if (existedProduction != null)
@@ -283,8 +293,9 @@
                      RunImageHandle(s.CameraOp.OpConfig, set, s.Id, s.Name, pMeasure.Measurements);
                  });
            BarCode = "";
            LogAsync(DateTime.Now, $"{pMeasure.Barcode}测量动作完成", "");
            GC.Collect(0, GCCollectionMode.Optimized);
            return new ProcessResponse(true);
        }
@@ -452,6 +463,7 @@
                productionList.RemoveAll(p => p.Barcode == pMeasure.Barcode);
                pMeasure.Dispose();
                //LogAsync(DateTime.Now, $"{pMeasure.Barcode}产品信息释放完成", JsonConvert.SerializeObject(pMeasure));
            }
        }
@@ -729,8 +741,6 @@
                        #region RawData
                        {
                            //rawDataSheet = package.Workbook.Worksheets["RawData"];
                            int rowDataStartCol = rawDataSheet.Dimension.Columns;
                            var barcodeCell = rawDataSheet.Cells[1, rowDataStartCol + 1, 1, rowDataStartCol + 4];
                            barcodeCell.Merge = true;
@@ -776,12 +786,7 @@
                        if (slantMeasures.Count > 0)
                        {
                            int slantStartCol = slantSheet.Dimension.Columns;
                            //var barcodeCell = slantSheet.Cells[1, slantStartCol + 1, 1, slantStartCol + 2];
                            //barcodeCell.Merge = true;
                            //barcodeCell.Value = exportData.ProductionMeasurementRecord.ProductionBarcode;
                            //SetTitleCell(barcodeCell);
                            var barcodeCell = slantSheet.Cells[1, slantStartCol + 1];
                            barcodeCell.Value = exportData.ProductionMeasurementRecord.ProductionBarcode;
                            SetTitleCell(barcodeCell);
@@ -789,10 +794,6 @@
                            var valueCell = slantSheet.Cells[2, slantStartCol + 1];
                            valueCell.Value = "Value";
                            SetTitleCell(valueCell);
                            //var resultCell = slantSheet.Cells[2, slantStartCol + 2];
                            //resultCell.Value = "Result";
                            //SetTitleCell(resultCell);
                            slantMeasures.ForEach(m =>
                            {
@@ -937,6 +938,11 @@
                        #endregion
                        package.Save();
                        rawDataSheet.Dispose();
                        slantSheet.Dispose();
                        alignmentSheet.Dispose();
                        rowAlignmentSheet.Dispose();
                    };
                }
            });
@@ -1191,11 +1197,17 @@
                    });
                    image.Dispose();
                    image = null;
                }
                //);
                imgSet.HImage.Dispose();
                imgSet.HImage = null;
                imgSet.Dispose();
                images.Dispose();
                images = null;
                //if (count.I != 1)
                //{
                //    hImage?.Dispose();